RE: Get abstrct information of media stream throughdtdriver (hxclientkit)
"Eric Hyche" <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Organization | RealNetworks, Inc. |
| Message-ID | <004901c8ba20$a84df420$db68a8c0@EHYCHED620> |
Halley, comments inline below... > -----Original Message----- > From: Zhao, Halley [mailto:[email protected]] > Sent: Monday, May 19, 2008 10:01 PM > To: [email protected]; [email protected] > Cc: Lynch, Rusty > Subject: RE: [Helix-client-dev] Get abstrct information of > media stream throughdtdriver (hxclientkit) > > Agree, and with 2 following-up questions: > 1. for headerOnly, I will just use 3 options: > DECODEAUDIO_OPTION_NAME, DECODEVIDEO_OPTION_NAME, > PROCESSHEADERS_OPTION_NAME. > Is it correct? > No. When you use PROCESSHEADERS_OPTION_NAME, you should only use that option and NOT set DECODEAUDIO_OPTION_NAME and DECODEVIDEO_OPTION_NAME. > 2. for some common properties in both audio and video, ( I > think there may be even more than one audio/video stream). > So I'd like add integer variables in class CSourceInput, > for example: m_VideoIndex, m_AudioIndex. The variables will > be reset to 0 in OnFileHeader(), and increase respectively > (for audio or video) in OnStreamHeader(). > And we will combine this 'stream index' with the properties > name, for example: "video0:width, 320", or "audio1:AvgBitRate:32000" > However, you want to design the dbus interface is fine with me. This looks like it would fix the problem of common properties between streams. Eric > >-----Original Message----- > >From: Eric Hyche [mailto:[email protected]] > >Sent: 2008519 23:49 > >To: Zhao, Halley; [email protected] > >Cc: Lynch, Rusty > >Subject: RE: [Helix-client-dev] Get abstrct information of > media stream > >throughdtdriver (hxclientkit) > > > > > >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