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

List:       helix-common-dev
Subject:    [Common-dev] CR: capture fileformat
From:       "Eric Hyche" <ehyche () real ! com>
Date:       2008-12-05 3:22:54
Message-ID: 010801c95688$c329fe60$497dfb20$ () com
[Download RAW message or body]

This is a MIME-formatted message.  If you see this text it means that your
E-mail software does not support MIME-formatted messages.


Description
----------------------------------------------
This CR adds support for a "capture" fileformat; that is,
a fileformat plugin which claims JSR135 "capture://" URLs.
For example, you can give the capture fileformat plugin
an URL of:

splay capture://audio_video

and it will capture and display audio and video from the default
audio and video capture devices using all the default
settings.

Right now I am planning on checking in the capture fileformat
to datatype/capture/fileformat, but I'm open to other
locations, if others feel a different location would
be more appropriate.

Files Added
--------------------------------------------
datatype/capture/fileformat/* - capture fileformat
datatype/wav/common/util/* - added utility functions to write out WAV file

Files Modified
--------------------------------------------
client/core/hxplay.cpp
   - fix bug in scheme/extension claiming
client/encodesvc/common/util/hxencodesvc_utils.cpp
client/encodesvc/common/util/pub/hxencodesvc_utils.h
   - add Producer SDK event strings
client/encodesvc/include/ihxtplugininfobase.h
   - remove HX_DISABLE_LOGGING when plugin helper destructs
client/encodesvc/recordengine/chxvideocapture.cpp
   - add default device property for video
common/include/hxtypes.h
   - add MAX_INT64 definition
common/include/ihxtlogsystem.h
   - add HXLOG_CAPF logging 4cc
common/log/logobserverfile/hxtlogobserver.cpp
common/log/logobserverfile/hxtlogobserver.h
   - fix bug in file log observer where it subscribes
     twice to the observer manager, resulting in two
     log statement lines for each logging statement
common/log/logsystem/hxtwritermanager.cpp
   - remove noisy unnecessary assert
common/util/hxurlutil.cpp
common/util/pub/hxurlutil.h
   - enable URL option properties to all be set as buffer properties
datatype/common/audrend/audrend.cpp
   - add logging statement for OnPacket
helix.bif
   - add targets for datatype_capture_fileformat, datatype_wav_common_util,
     and splay_capture. splay_capture builds everything you need
     to test the capture fileformat.

Branches
--------------------------------------------
HEAD only




=======================================
Eric Hyche (ehyche@real.com)
Principal Engineer
RealNetworks, Inc.



["datatype_capture_fileformat.zip" (application/x-zip-compressed)]
["datatype_wav_common_util.zip" (application/x-zip-compressed)]
["captureff-bif-diff.txt" (text/plain)]

Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.713
diff -u -w -u -w -r1.713 helix.bif
--- helix.bif	3 Dec 2008 12:49:39 -0000	1.713
+++ helix.bif	5 Dec 2008 03:10:52 -0000
@@ -1372,9 +1372,7 @@
 
       <source_dependlist>
         common_include
-        protocol_common_util
         protocol_transport_rdt
-        protocol_http
       </source_dependlist>
 
       <dependlist>
@@ -1390,6 +1388,8 @@
         client_common_container
         client_common_util
         client_common_netio
+          protocol_common_util
+          protocol_http
       </dependlist>
     </module>
 
@@ -1697,6 +1697,7 @@
           client_common_container
           client_common_util
           client_common_netio
+          client_netwksvc
           client_videosvc
           common_log_logutil
       </dependlist>
@@ -8144,6 +8145,19 @@
 
     </module>
 
+    <!-- DATATYPE_WAV_COMMON_UTIL -->
+    <module id="datatype_wav_common_util" name="datatype/wav/common/util" group="core">
+        <cvs root="helix"/>
+
+        <source_dependlist>
+            common_include
+            common_runtime
+            common_util
+            common_container
+            common_dbgtool
+        </source_dependlist>
+    </module>
+
     <!-- DATATYPE_WAV_RENDERER_PCM -->
     <module id="datatype_wav_renderer_pcm" name="datatype/wav/renderer/pcm" group="core">
       <cvs root="helix"/>
@@ -9039,6 +9053,31 @@
       </dependlist>
     </module>
 
+    <!-- SPLAY_CAPTURE -->
+    <module id="splay_capture" name="clientapps/simpleplayer" group="core">
+        <dependlist>
+            common_runtime
+            common_system
+            common_container
+            common_dbgtool
+            common_util
+            client_medpltfm
+            client_core
+            filesystem_local
+            datatype_ram_fileformat
+            datatype_ram_renderer
+            protocol_sdp
+            datatype_image_png_common
+            common_import_zlib
+            datatype_image_png_import_libpng
+            video_site
+            client_encodesvc
+            datatype_capture_fileformat
+            datatype_wav_renderer_pcm
+            datatype_i420_renderer
+        </dependlist>
+    </module>
+
     <!-- SPLAY_RA -->
     <module id="splay_ra" name="clientapps/simpleplayer" group="core">
       <dependlist>
@@ -16063,6 +16102,27 @@
     </module>
 
 
+    <!-- DATATYPE/CAPTURE/FILEFORMAT  -->
+    <module id="datatype_capture_fileformat" name="datatype/capture/fileformat" group="core">
+        <cvs root="helix"/>
+
+        <source_dependlist>
+            common_include
+            client_include
+            client_encodesvc_include
+        </source_dependlist>
+
+        <dependlist>
+            common_runtime
+            common_container
+            common_dbgtool
+            common_util
+            common_system
+            common_log_logutil
+            client_encodesvc_common_util
+        </dependlist>
+    </module>
+      
     <!-- New Client Encoding Services Targets -->
     <module id="client_encodesvc_checkout_only" name="client/encodesvc" group="core">
       <attribute id="no_build"/>

["captureff-client-diff.txt" (text/plain)]

Index: core/hxplay.cpp
===================================================================
RCS file: /cvsroot/client/core/hxplay.cpp,v
retrieving revision 1.197
diff -u -w -u -w -r1.197 hxplay.cpp
--- core/hxplay.cpp	20 Sep 2008 06:06:17 -0000	1.197
+++ core/hxplay.cpp	5 Dec 2008 02:59:17 -0000
@@ -5444,7 +5444,7 @@
 
     if (m_EventList.GetNumEvents() == 0)
     {
-    HXLOGL3(HXLOG_CORP, "HXPlayer[%p]::ProcessCurrentEvents() End", this);
+        HXLOGL3(HXLOG_CORP, "HXPlayer[%p]::ProcessCurrentEvents() End \
m_EventList.GetNumEvents() == 0", this);  return HXR_OK;
     }
 
@@ -5486,7 +5486,6 @@
         if (!pEvent->m_pRendererInfo->m_bIsFirstTimeSync &&
         pPacket->GetTime() > \
pEvent->m_pRendererInfo->m_pStreamInfo->m_ulTimeAfterSeek)  {
-
 #if defined(_MACINTOSH) || defined(_MAC_UNIX)
         /* Cannot call audio player Seek() at interrupt time. It results
         * in audio device Reset() which issues DoImmediate commands
@@ -7900,6 +7899,9 @@
             HX_RESULT retVal = pProps->GetPropertyBuffer(PROPERTY_SCHEME, \
pSchemeStr);  if (SUCCEEDED(retVal))
             {
+                // Initialize the extension string and the search string
+                CHXString cExtension;
+                CHXString cSearch;
                 // Get the full path
                 IHXBuffer* pFullPathStr = NULL;
                 retVal = pProps->GetPropertyBuffer(PROPERTY_FULLPATH, pFullPathStr);
@@ -7908,7 +7910,6 @@
                     // Put this into a CHXString
                     CHXString cFullPath((const char*) pFullPathStr->GetBuffer());
                     CHXString cFileName = cFullPath;
-                    CHXString cExtension;
                     // Find the last "/" or "\"
                     INT32 lLastSlash1 = cFullPath.ReverseFind('/');
                     INT32 lLastSlash2 = cFullPath.ReverseFind('\\');
@@ -7924,7 +7925,7 @@
                         cExtension = cFileName.Right(cFileName.GetLength() - lPeriod \
- 1);  }
                     // Construct the search string
-                    CHXString cSearch((const char*) pSchemeStr->GetBuffer());
+                    cSearch = (const char*) pSchemeStr->GetBuffer();
                     // Do we have an extension?
                     if (cExtension.GetLength() > 0)
                     {
@@ -7933,7 +7934,19 @@
                         // Append the extension
                         cSearch += cExtension;
                     }
-
+                }
+                else
+                {
+                    // Some URLs (like capture://audio) do not have a path 
+                    // at all, so they will fail the test where we look 
+                    // for the PROPERTY_FULLPATH in the CHXURL properties.
+                    // So in this case, the search string is just the scheme
+                    cSearch = (const char*) pSchemeStr->GetBuffer();
+                    // Clear the return value
+                    retVal = HXR_OK;
+                }
+                // We either need to have an extension or the input flag needs
+                // to be set saying we don't have to claim the extension.
             if (!bMustClaimExtension || (cExtension.GetLength() > 0))
             {
             // Get the IHXPluginHandler3 interface
@@ -7977,7 +7990,6 @@
             }
             HX_RELEASE(pHandler3);
             }
-                }
                 HX_RELEASE(pFullPathStr);
             }
             HX_RELEASE(pSchemeStr);
Index: encodesvc/common/util/hxencodesvc_utils.cpp
===================================================================
RCS file: /cvsroot/client/encodesvc/common/util/hxencodesvc_utils.cpp,v
retrieving revision 1.1
diff -u -w -u -w -r1.1 hxencodesvc_utils.cpp
--- encodesvc/common/util/hxencodesvc_utils.cpp	6 Nov 2008 15:38:11 -0000	1.1
+++ encodesvc/common/util/hxencodesvc_utils.cpp	5 Dec 2008 02:59:17 -0000
@@ -58,6 +58,65 @@
 #include "hxtypes.h"
 #include "hxcom.h"
 #include "hxencodesvc.h"
+#include "ihxteventcodes.h"
+
+static const char* const g_pEventName[NUM_EHXTEVENTS] =
+{
+    "eEventEncodingStarted",
+    "eEventEncodingFinished",
+    "eEventTwoPassAnalysisStarted",
+    "eEventTwoPassAnalysisFinished",
+    "eEventTwoPassEncodingUsingAnalysisStarted",
+    "eEventTwoPassEncodingUsingAnalysisFinished",
+    "eEventEncodeProgress",
+    "eEventAnalysisProgress",
+    "eEventInputStarted",
+    "eEventInputFinished",
+    "eEventInputError",
+    "eEventDestinationStarted",
+    "eEventDestinationMergeProgress",
+    "eEventDestinationFinished",
+    "eEventDestinationError",
+    "eEventDestinationCanceled",
+    "eEventDestinationBroadcasting",
+    "eEventDestinationReconnecting",
+    "eEventDestinationListening",
+    "eEventCurrentLatency",
+    "eEventStreamConfigEncodingComplexityUpdate",
+    "eEventInputFilterStarted",
+    "eEventInputFilterFinished",
+    "eEventInputFilterError",
+    "eEventOutputFilterStarted",
+    "eEventOutputFilterMergeProgress",
+    "eEventOutputFilterFinished",
+    "eEventOutputFilterError",
+    "eEventOutputFilterCanceled",
+    "eEventOutputFilterStreamDone",
+    "eEventOutputFilterBroadcasting",
+    "eEventOutputFilterReconnecting",
+    "eEventOutputFilterListening",
+    "eEventOutputTempFileCreated",
+    "eEventOutputFilterLastEvent",
+    "eEventTransformFilterEncodingComplexityUpdate",
+    "eEventTransformFilterError",
+    "eFirstPerformanceEvent",
+    "eEventPerformanceOverload",
+    "eEventPerformanceLoad",
+    "eLastPerformanceEvent",
+    "eFirstCoreEvent",
+    "eEventLastEvent",
+    "eEventEncodeTimestamp",
+    "eEventFilterDone",
+    "eEventGraphDone",
+    "eEventStarted",
+    "eEventStopped",
+    "eEventPaused",
+    "eEventResumed",
+    "eEventInputDirectorError",
+    "eEventTransformDirectorError",
+    "eEventOutputDirectorError",
+    "eLastCoreEvent"
+};
 
 const char* GetAudioEncoderIDString(UINT32 ulID)
 {
@@ -290,3 +349,14 @@
     return pszRet;
 }
 
+const char* GetEventString(EHXTEvent eEvent)
+{
+    const char* pszRet = "Unknown";
+
+    if (eEvent < NUM_EHXTEVENTS)
+    {
+        pszRet = g_pEventName[eEvent];
+    }
+
+    return pszRet;
+}
Index: encodesvc/common/util/pub/hxencodesvc_utils.h
===================================================================
RCS file: /cvsroot/client/encodesvc/common/util/pub/hxencodesvc_utils.h,v
retrieving revision 1.1
diff -u -w -u -w -r1.1 hxencodesvc_utils.h
--- encodesvc/common/util/pub/hxencodesvc_utils.h	6 Nov 2008 15:38:11 -0000	1.1
+++ encodesvc/common/util/pub/hxencodesvc_utils.h	5 Dec 2008 02:59:17 -0000
@@ -74,5 +74,7 @@
 // For example, given an input of HX_XA_VIDEOCODEC_AVC, returns
 // the string "HX_XA_VIDEOCODEC_AVC".
 const char* GetVideoEncoderIDString(UINT32 ulID);
+// Retrieve a string containing the event name
+const char* GetEventString(EHXTEvent eEvent);
 
 #endif /* #ifndef HXENCODESVC_UTILS_H */
Index: encodesvc/include/ihxtplugininfobase.h
===================================================================
RCS file: /cvsroot/client/encodesvc/include/ihxtplugininfobase.h,v
retrieving revision 1.4
diff -u -w -u -w -r1.4 ihxtplugininfobase.h
--- encodesvc/include/ihxtplugininfobase.h	10 Sep 2008 18:46:35 -0000	1.4
+++ encodesvc/include/ihxtplugininfobase.h	5 Dec 2008 02:59:17 -0000
@@ -75,7 +75,6 @@
 	{
             HX_RELEASE( m_pContext );
             HX_RELEASE( m_pAgent );
-            HX_DISABLE_LOGGING();
         }
 
 	// IHXPlugin Interface Methods                         
Index: encodesvc/recordengine/chxvideocapture.cpp
===================================================================
RCS file: /cvsroot/client/encodesvc/recordengine/chxvideocapture.cpp,v
retrieving revision 1.1
diff -u -w -u -w -r1.1 chxvideocapture.cpp
--- encodesvc/recordengine/chxvideocapture.cpp	6 Nov 2008 15:48:25 -0000	1.1
+++ encodesvc/recordengine/chxvideocapture.cpp	5 Dec 2008 02:59:17 -0000
@@ -411,6 +411,12 @@
                 {
                     // Increment the short name index
                     m_ulShortNameIndex++;
+                    // Get the default device flag
+                    HXBOOL bDefaultDevice = FALSE;
+                    pInfo->GetBool(kPropCaptureDefaultDevice, &bDefaultDevice);
+                    // Set the HX_CAPTURE_PROPERTY_IS_DEFAULT_DEVICE property
+                    pCaps->SetPropertyULONG32(HX_CAPTURE_PROPERTY_IS_DEFAULT_DEVICE,
+                                              (bDefaultDevice ? 1 : 0));
                     // Get the kPropVideoWidthList property
                     IHXTUintList* pWidthList = NULL;
                     retVal = pInfo->GetUintList(kPropVideoWidthList, &pWidthList);


["captureff-common-diff.txt" (text/plain)]

Index: include/hxtypes.h
===================================================================
RCS file: /cvsroot/common/include/hxtypes.h,v
retrieving revision 1.41
diff -u -w -u -w -r1.41 hxtypes.h
--- include/hxtypes.h	24 Jun 2008 22:15:00 -0000	1.41
+++ include/hxtypes.h	5 Dec 2008 03:05:46 -0000
@@ -260,6 +260,10 @@
 #define MAX_UINT64		0xffffffffffffffffULL
 #endif /* MAX_UINT64 */
 
+#if !defined(MAX_INT64)
+#define MAX_INT64               0x7fffffffffffffffLL
+#endif /* MAX_UINT64 */
+
 #if defined(_MACINTOSH)
 #define kLetInterruptsFinishBeforeQuittingGestalt 'RN$~'
 #endif
Index: include/ihxtlogsystem.h
===================================================================
RCS file: /cvsroot/common/include/ihxtlogsystem.h,v
retrieving revision 1.49
diff -u -w -u -w -r1.49 ihxtlogsystem.h
--- include/ihxtlogsystem.h	28 Nov 2008 06:51:21 -0000	1.49
+++ include/ihxtlogsystem.h	5 Dec 2008 03:05:46 -0000
@@ -238,6 +238,7 @@
     ,HXLOG_EVIR = HX_MAKE4CC('E','V','I','R')  // Encoding services - VIDRENDR
     ,HXLOG_EMED = HX_MAKE4CC('E','M','E','D')  // Encoding services - MEDIASAMPLES
     ,HXLOG_EPUB = HX_MAKE4CC('E','P','U','B')  // Encoding services - PUB
+    ,HXLOG_CAPF = HX_MAKE4CC('C','A','P','F')  // Capture file format
 };
 
 static const struct _ClientLogging4CC
@@ -338,6 +339,7 @@
     {HXLOG_EVIR, "Encoding Services Video Rendering"},
     {HXLOG_EMED, "Encoding Services Media Samples"},
     {HXLOG_EPUB, "Encoding Services PUB"},
+    {HXLOG_CAPF, "Capture File Format"},
     {0,          NULL}  // This entry should ALWAYS remain the last entry
 };
 
Index: log/logobserverfile/hxtlogobserver.cpp
===================================================================
RCS file: /cvsroot/common/log/logobserverfile/hxtlogobserver.cpp,v
retrieving revision 1.21
diff -u -w -u -w -r1.21 hxtlogobserver.cpp
--- log/logobserverfile/hxtlogobserver.cpp	27 Sep 2007 19:24:57 -0000	1.21
+++ log/logobserverfile/hxtlogobserver.cpp	5 Dec 2008 03:05:46 -0000
@@ -111,7 +111,8 @@
 m_pLogSystem(NULL),
 m_pContext(NULL),
 m_bEnableDeliveryThread(HXLOG_ENABLE_DELIVERY_THREAD_PREFVAL_DEFAULT),
-m_pFileMutex(NULL)
+m_pFileMutex(NULL),
+m_bPluginInitialized(FALSE)
 {
 }
 
@@ -1114,8 +1115,13 @@
 
 STDMETHODIMP CHXTFileObserver::InitPlugin(IUnknown* pContext)
 {
-    HX_RESULT retVal = HXR_FAIL;
+    HX_RESULT retVal = HXR_OK;
 
+    if (!m_bPluginInitialized)
+    {
+        // Set the return value
+        retVal = HXR_INVALID_PARAMETER;
+        // Make sure we were passed in a context
     if (pContext)
     {
         HX_RELEASE(m_pContext);
@@ -1199,10 +1205,16 @@
 
                 // Init the log observer
                 retVal = Init((const char*) cFileName);
+                    if (SUCCEEDED(retVal))
+                    {
+                        // We initialized successfully, so set the flag
+                        m_bPluginInitialized = TRUE;
+                    }
             }
         }
         HX_RELEASE(pPrefs);
     }
+    }
 
     return retVal;
 }
Index: log/logobserverfile/hxtlogobserver.h
===================================================================
RCS file: /cvsroot/common/log/logobserverfile/hxtlogobserver.h,v
retrieving revision 1.13
diff -u -w -u -w -r1.13 hxtlogobserver.h
--- log/logobserverfile/hxtlogobserver.h	7 Apr 2006 12:38:17 -0000	1.13
+++ log/logobserverfile/hxtlogobserver.h	5 Dec 2008 03:05:46 -0000
@@ -163,6 +163,7 @@
     IUnknown*       m_pContext;
     HXBOOL          m_bEnableDeliveryThread;
     IHXMutex*        m_pFileMutex;
+    HXBOOL           m_bPluginInitialized;
 
 #if defined(HELIX_FEATURE_CLIENT)
         static const char* const m_pszDescription;
Index: log/logsystem/hxtwritermanager.cpp
===================================================================
RCS file: /cvsroot/common/log/logsystem/hxtwritermanager.cpp,v
retrieving revision 1.9
diff -u -w -u -w -r1.9 hxtwritermanager.cpp
--- log/logsystem/hxtwritermanager.cpp	17 Jan 2007 20:12:46 -0000	1.9
+++ log/logsystem/hxtwritermanager.cpp	5 Dec 2008 03:05:46 -0000
@@ -159,7 +159,9 @@
 		HXBOOL bVarArgs;
 		const char* szTransMessage = NULL;
 		res = m_pTranslationCentre->GetMessage(pMsgData->MessageNumber(), \
                pMsgData->NameSpace(), &bVarArgs, &szTransMessage);
-		HX_ASSERT(SUCCEEDED(res));
+                // Client most likely does not have translation support.
+                // We don't want to assert here in that case.
+//		HX_ASSERT(SUCCEEDED(res));
 		if(SUCCEEDED(res))
 		{
 			pMsgData->Message(szTransMessage);
Index: util/hxurlutil.cpp
===================================================================
RCS file: /cvsroot/common/util/hxurlutil.cpp,v
retrieving revision 1.9
diff -u -w -u -w -r1.9 hxurlutil.cpp
--- util/hxurlutil.cpp	18 Jan 2008 04:54:26 -0000	1.9
+++ util/hxurlutil.cpp	5 Dec 2008 03:05:46 -0000
@@ -89,7 +89,8 @@
 }
 
 
-HX_RESULT HXURLUtil::GetOptions(IUnknown* pContext, const HXURLRep& url, IHXValues*& \
pVal /* out*/) +HX_RESULT HXURLUtil::GetOptions(IUnknown* pContext, const HXURLRep& \
url, IHXValues*& pVal /* out*/, +                                HXBOOL \
bAllBufferProperties)  {
     HX_RESULT hr = HXR_FAIL;
 
@@ -104,7 +105,7 @@
         hr = pContext->QueryInterface(IID_IHXCommonClassFactory, (void**)&pFactory);
         if (HXR_OK == hr)
         {
-            hr = ParseOptions(url.Query(), pFactory, pVal);
+            hr = ParseOptions(url.Query(), pFactory, pVal, bAllBufferProperties);
             HX_RELEASE(pFactory);
         }
     }
@@ -130,7 +131,8 @@
 
 HX_RESULT HXURLUtil::ParseOptions(const char* pszEscapedQuery, 
                          IHXCommonClassFactory* pFactory,
-                         IHXValues*& pVal /*out*/)
+                         IHXValues*& pVal /*out*/,
+                         HXBOOL bAllBufferProperties)
 {
     HX_ASSERT(pFactory);
 
@@ -188,7 +190,7 @@
         }
         else
         {
-            if(valueIsQuoted || !IsNumber(value))
+            if(valueIsQuoted || !IsNumber(value) || bAllBufferProperties)
             {
                 IHXBuffer* pBuffer = 0;
                 hr = pFactory->CreateInstance(CLSID_IHXBuffer, (void**)&pBuffer);
Index: util/pub/hxurlutil.h
===================================================================
RCS file: /cvsroot/common/util/pub/hxurlutil.h,v
retrieving revision 1.6
diff -u -w -u -w -r1.6 hxurlutil.h
--- util/pub/hxurlutil.h	27 Nov 2006 17:37:48 -0000	1.6
+++ util/pub/hxurlutil.h	5 Dec 2008 03:05:46 -0000
@@ -70,10 +70,12 @@
 
     static ProtocolInfo GetProtocolInfo(const char* pszScheme);
 
-    static HX_RESULT GetOptions(IUnknown* pContext, const HXURLRep& url, IHXValues*& \
pVal /* out*/); +    static HX_RESULT GetOptions(IUnknown* pContext, const HXURLRep& \
url, IHXValues*& pVal /* out*/, +                                HXBOOL \
bAllBufferProperties = FALSE);  static HX_RESULT ParseOptions(const char* \
pszEscapedQuery,   IHXCommonClassFactory* pFactory,
-                         IHXValues*& pVal /*out*/);
+                         IHXValues*& pVal /*out*/,
+                         HXBOOL bAllBufferProperties = FALSE);
     static void DoDollarFixup(CHXString& url);
     static void DoFileURLFixup(HXURLRep& url);
 };


["captureff-datatype-diff.txt" (text/plain)]

? capture
? wav/common
Index: common/audrend/audrend.cpp
===================================================================
RCS file: /cvsroot/datatype/common/audrend/audrend.cpp,v
retrieving revision 1.47
diff -u -w -u -w -r1.47 audrend.cpp
--- common/audrend/audrend.cpp	2 Dec 2008 22:58:29 -0000	1.47
+++ common/audrend/audrend.cpp	5 Dec 2008 03:06:13 -0000
@@ -216,6 +216,8 @@
 
     HX_ASSERT(pContext);
 
+    HX_ENABLE_LOGGING(pContext);
+
     m_pContext = pContext;
     m_pContext->AddRef();
 
@@ -674,6 +676,7 @@
 STDMETHODIMP
 CAudioRenderer::OnPacket(IHXPacket* pPacket, LONG32 lTimeOffset)
 {
+    HXLOGL4(HXLOG_BAUD, "OnPacket(%p,%ld) ts=%lu", pPacket, lTimeOffset, (pPacket ? \
pPacket->GetTime() : 0));  HX_RESULT	    retVal = HXR_OK;
 
     /* Ignore any pre-seek packets or NULL packets */



_______________________________________________
Common-dev mailing list
Common-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/common-dev


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

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