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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] tools/dtdriver/decoder/video/pub vdecoder.h,
From:       ehyche () helixcommunity ! org
Date:       2009-05-26 1:41:54
Message-ID: 200905260246.n4Q2kQjH011217 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/tools/dtdriver/decoder/video/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv8621/decoder/video/pub

Modified Files:
      Tag: hxclient_3_1_0_atlas
	vdecoder.h 
Log Message:
Merge to 310Atlas.

Description
----------------------------------------------
This change fixes various issues found with transcoding
H.264 in FLV files and thumbnail generation using the Flash-player-based FLV renderer. Changes include:

- Fix problem in FLV file format where we fail to issue
  a StreamDone() on the audio stream when fetching packets
  during thumbnail generation. This was causing a dtdrplin hang.
- Call IHXUntimedRenderer::SetUntimedRendering twice when initializing
  the renderer in the video decoder in the dtdrive. The reason is that
  some renderers need to know whether or not they will be doing
  untimed rendering BEFORE receiving the OnHeader() (such as renderers
  that can use either software or hardware decoders). However, some
  renderers need to receive OnHeader() before knowing how to properly
  return the call to SetUntimedRendering (such as the FLV renderer). We
  solve this conflict by calling SetUntimedRendering twice - once before
  OnHeader() and once after.
- Since we are calling it twice, we move the call to SetUntimedRendering()
  and related logic to a common method.
- When we compute the minimum output timestamp in the source splitter
  we need to take into account the StartTime.
- In the source splitter, we should allow streams that are blocked to
  always send their packets through to the processor. That's because
  they are only going to get thrown away anyway, so there's no need
  to queue them up at all.

Files Modified
----------------------------------------------
datatype/flash/flv/fileformat/flv_file_format.cpp
datatype/tools/dtdriver/decoder/video/vdecoder.cpp
datatype/tools/dtdriver/decoder/video/pub/vdecoder.h
datatype/tools/dtdriver/engine/csrcsplt.cpp
datatype/tools/dtdriver/engine/pub/csrcsplt.h

Branches
----------------------------------------------
HEAD, 310Atlas, and 204Cay



Index: vdecoder.h
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/decoder/video/pub/vdecoder.h,v
retrieving revision 1.4.18.10
retrieving revision 1.4.18.11
diff -u -d -r1.4.18.10 -r1.4.18.11
--- vdecoder.h	26 Feb 2009 05:26:04 -0000	1.4.18.10
+++ vdecoder.h	26 May 2009 01:41:52 -0000	1.4.18.11
@@ -175,6 +175,7 @@
     HX_RESULT ResizeYUV420(UCHAR *pSrc, UCHAR *pDst, ULONG32 uSrcWidth, ULONG32 uSrcHeight,
                          ULONG32 uDstWidth, ULONG32 uDstHeight, ULONG32 resize_accuracy);
     HX_RESULT AdjustAspectRatio(REF(ULONG32) ulOutputWidth, REF(ULONG32) ulOutputHeight);
+    HX_RESULT SetUntimedRendering(IHXRenderer* pRenderer, HXBOOL bMode);
 };
 
 #endif // #ifndef VDECODER_H


_______________________________________________
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