[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mpg/fileformat rmpgff.cpp, 1.10, 1.11 rmpgff.h, 1.4,
From:       zbt () helixcommunity ! org
Date:       2008-03-27 1:19:06
Message-ID: 200803270120.m2R1K7Ba025278 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mpg/fileformat
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv13044/fileformat

Modified Files:
	rmpgff.cpp rmpgff.h 
Log Message:
Modified by: <huan.zheng@intel.com>
Date: <03:21:08>
Project: [Datatype-dev] CR: Add soft switch for AC3 Support for mpgfformat plugin
Synopsis:
Add soft switch for AC3 Support for mpgfformat plugin
Overview: 
Currently for mpgfformat.so, there is a hard switch(by define AC3 or not in \
rmpgff.cpp) to support AC3 or not. Since there is no AC3 codec from helix community, \
this switch is off by default. But we may have some AC3 codec from 3rd party, so this \
soft switch is added to get the on/off state by ReadPreference interface. Files \
Added:                                      None
Files Modified:
    rmpgff.cpp (mpgfformat/mpg/fileformat/rmpgff.cpp)
    rmpgff.h (mpgfformat/mpg/fileformat/rmpgff.h)
Image Size and Heap Use impact (Client -Only):
    little
Platforms and Profiles Affected:
    platform:   linux-2.2-libc6-gcc32-i586
    profile:    helix-client-all-defines
Distribution Libraries Affected:
    <mpgfformat.so>
Distribution library impact and planned action:
    <None>
Platforms and Profiles Build Verified:
    Set BIF branch  -> hxclient_3_1_0_atlas_restricted
    Set Target(s)   -> datatype_mpg_fileformat
    Set Profile     -> helix-client-all-defines
    System ID       -> linux-2.2-libc6-gcc32-i586
Branch: 
    HEAD, hxclient_3_1_0_atlas
Copyright assignment: <MUST be one of the following statements >
  2.      Intel has signed and delivered a Joint Copyright Assignment
           to RealNetworks, and received acknowledgment that the 
           agreement was received. 
Files Attached:
AC3switch.diff


Index: rmpgff.h
===================================================================
RCS file: /cvsroot/datatype/mpg/fileformat/rmpgff.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- rmpgff.h	20 Aug 2007 19:19:16 -0000	1.4
+++ rmpgff.h	27 Mar 2008 01:19:03 -0000	1.5
@@ -232,6 +232,7 @@
 
     UCHAR                   m_bRtp,         // Are we using rtp transport
                             m_bGetHeader;   // Get the other stream header        
+    IUnknown                *m_pContext;
 
     ///////////////////////////////////////////////////////////////////////////
     // Private Static Class Variables

Index: rmpgff.cpp
===================================================================
RCS file: /cvsroot/datatype/mpg/fileformat/rmpgff.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- rmpgff.cpp	14 Sep 2007 11:41:30 -0000	1.10
+++ rmpgff.cpp	27 Mar 2008 01:19:03 -0000	1.11
@@ -61,6 +61,7 @@
 #include "hxprefs.h"    // IHXPreferences
 #include "hxvsrc.h"     // IHXFileViewSource
 #include "hxupgrd.h"    // IHXUpgradeCollection
+#include "hxprefutil.h"
 
 #include "xmddemuxer.h"
 #include "rmpgff.h"     // CRnMpgFmt
@@ -271,6 +272,7 @@
 CRnMpgFmt::InitPlugin(IUnknown* pHXCore)
 {
     HX_ENABLE_LOGGING(pHXCore);
+    m_pContext = pHXCore;
     pHXCore->QueryInterface(IID_IHXCommonClassFactory, 
                           (void**)&m_pClassFactory);
     if (m_pClassFactory == NULL)
@@ -2618,16 +2620,24 @@
     if (!m_aInfo[FILE_STREAM].ulBitRate)
         return (UINT16)-1;
 
-#if !defined(AC3) && !defined(HELIX_FEATURE_MPGFF_LPCM)
+
+    
     // We will not produce AC3, DTS, or LPCM streams now since we do not
     // have a renderer that supports them.  Keep the stream stats
     // around since we need them for duration/bitrate.
-    if (eHXMPEG != m_aInfo[AUDIO_STREAM].eAudio)
+    if (m_pContext)
     {
-        //m_aInfo[AUDIO_STREAM].eType = eHXUnknown;
-        --m_wStreamCount;
+        HXBOOL bAC3Support = FALSE;
+        ReadPrefBOOL(m_pContext, "AC3Support", bAC3Support);
+        if (bAC3Support)
+        {
+            if (eHXMPEG != m_aInfo[AUDIO_STREAM].eAudio)
+            {
+            //m_aInfo[AUDIO_STREAM].eType = eHXUnknown;
+                --m_wStreamCount;
+            }
+        }
     }
-#endif
 
     // Create es stream buffers for rtp streaming
     for (int i=0; i<m_wStreamCount; i++)


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic