RE: Get abstrct information of media stream throughdtdriver (hxclientkit)

"Eric Hyche" <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Organization RealNetworks, Inc.
Message-ID <00a701c8b9c7$df7d2410$db68a8c0@EHYCHED620>
Halley,

My comments:

@@ -190,7 +222,11 @@
     	// pOptions->SetPropertyULONG32("StartTime", 10);
     	pOptions->SetPropertyULONG32("StartTime", startTime);
     	pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
-    	//pOptions->SetPropertyULONG32("VideoThumbnail", 1);
+        if(headerOnly)
+        {
+            pOptions->SetPropertyULONG32(DECODEAUDIO_OPTION_NAME, 1);
+            pOptions->SetPropertyULONG32("ProcessHeadersOnly", 1);
+        }

If you are setting "ProcessHeadersOnly", then you should NOT be
setting any of the other decode-related options. The reason is that
if you are decoding, then some of the file header properties are not
provided, and also that the stream header properties are different
when decoding. 

@@ -650,18 +782,22 @@
     //printf ("CSourceInput::OnStreamHeader\n");
     IHXBuffer* pMime = NULL;
     pValues->GetPropertyCString("MimeType", pMime);
-    //printf("Stream MimeType: %s\n", pMime->GetBuffer());
+    if( '\0' == g_sMimeType[0])
+    {
+        strcat( g_sMimeType, pMime->GetBuffer() );
+    }
+    else
+    {
+        strcat(g_sMimeType, ":");
+        strcat( g_sMimeType, pMime->GetBuffer() );
+    }

This runs the risk of buffer overrun since g_sMimeType is a fixed-length
buffer of length 256. You should use SafeSprintf or SafeStrCat
defined in common/runtime/pub/safestring.h instead.

@@ -80,13 +80,16 @@
     IHXDataTypeDriverResponse* m_pDTDResponse;
     IHXSourceInput* m_pSourceInput;
 
+    bool m_bHeaderOnly ;

We should use HX_BOOL here instead.

 
-/*
-    UINT32 ulChan = 0;
-    pValues->GetPropertyULONG32("Channels", ulChan);
-    if (ulChan == 2)
+    if( NULL != pValues)
     {
-	printf("Stereo\n");
+        DumpMediaInfo(pValues);
     }
-*/
-    //UINT32 ulSamplsPerSec = 0;
+

This looks like you are passing both stream headers into DumpMediaInfo().
Both audio and video headers will have several properties in common, such
as "AvgBitRate". How will you distinguish between the "AvgBitRate" of
a video stream and an "AvgBitRate" of an audio stream?

Rest looks good.

Eric
=============================================
Eric Hyche ([email protected])
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: Zhao, Halley [mailto:[email protected]] 
> Sent: Tuesday, May 13, 2008 8:24 PM
> To: [email protected]; [email protected]
> Cc: Lynch, Rusty
> Subject: RE: [Helix-client-dev] Get abstrct information of 
> media stream throughdtdriver (hxclientkit)
> 
> Sorry for mistake.
> 
> Attach the patch file.
> 
> 
> >-----Original Message-----
> >From: Eric Hyche [mailto:[email protected]]
> >Sent: 2008513 23:45
> >To: Zhao, Halley; [email protected]
> >Cc: Lynch, Rusty
> >Subject: RE: [Helix-client-dev] Get abstrct information of 
> media stream
> >throughdtdriver (hxclientkit)
> >
> >
> >> Files Attached:
> >>
> >>     hxclientkit-mediaAbstractInfo.diff.txt
> >>
> >
> >I didn't see any such file attached to the
> >CR email.
> >
> >Eric
> >
> >=============================================
> >Eric Hyche ([email protected])
> >Technical Lead
> >RealNetworks, Inc.
> >
> >> -----Original Message-----
> >> From: [email protected]
> >> [mailto:[email protected]] On
> >> Behalf Of Zhao, Halley
> >> Sent: Tuesday, May 13, 2008 5:56 AM
> >> To: [email protected]
> >> Cc: Lynch, Rusty
> >> Subject: [Helix-client-dev] Get abstrct information of media
> >> stream throughdtdriver (hxclientkit)
> >>
> >> Synopsis:
> >>
> >>     Get abstrct information of media stream through dtdriver
> >>
> >> Overview:
> >>
> >>     use dtdriver plugin to parse a media stream's file/stream
> >> header to get some information,
> >>
> >>     for example: Title, width, hegith, Copyright, etc.
> >>
> >>
> >>
> >> Files Added:
> >>
> >>        No file added
> >>
> >> Files Modified:
> >>
> >>     player/hxclientkit/pub/HXClientCFuncs.h
> >>
> >>     player/hxclientkit/pub/HXClientCallbacks.h
> >>
> >>     player/hxclientkit/src/platform/unix/CHXClientThumbnailUnix.h
> >>
> >>         function and variables declaration
> >>
> >>
> >>
> >>     
> player/hxclientkit/src/platform/unix/CHXClientThumbnailUnix.cpp
> >>
> >>         function implementation
> >>
> >>
> >>
> >>
> >>
> >> 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:
> >>
> >>     <libhxclient.a>
> >>
> >> Distribution library impact and planned action:
> >>
> >>     <None>
> >>
> >> Platforms and Profiles Build Verified:
> >>
> >>     Set BIF branch  -> hxdbus_3_1_0_atlas
> >>
> >>     Set Target(s)   -> dbus_server_with_video
> >>
> >>     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:
> >>
> >>     hxclientkit-mediaAbstractInfo.diff.txt
> >>
> >>
> >>
> >> ZHAO, Halley (Aihua)
> >>
> >> Email: [email protected] <mailto:[email protected]>
> >>
> >> Tel: +86(21)61166476
> >>
> >> iNet: 8821-6476
> >>
> >> SSG/OTC/UMD
> >>
> >>
> >>
> >>
> 
> 


_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.