Hi Ravi,

   Thanks a lot for the fast answer...from your words, i see that
existed open core MPEG-4 decoder can't work with B-frames, but H.264
one should works correct. So, the limitation for the increasing time
stamps depends on decoders, right?

~Yuri

On Oct 12, 11:31 am, RaviY <[email protected]> wrote:
> H.264 is a special case. So, let me rephrase my statement:
> Before: The media timestamps sent by your splitter node -- They should
> always be increasing.
> Now: The media timestamps sent by the splitter node always need to be
> in the "decoding" order. This "decoding" order will most of the times
> be an "increasing" order except for H.264, where the "decoding order"
> can have timestamps that are not always increasing.
>
> -Ravi
>
> On Oct 11, 9:53 pm, shadow <[email protected]> wrote:
>
> > Hi RaviY,
>
> >    Can you please clarify how I,P,B ( I frame - has 0 mSec time, P
> > frame has 66 mSec time, and B frame has 33 mSec time ) streams would
> > work if time stamps have to be always increased?
>
> > --
>
> > On Oct 8, 1:58 pm, shadow <[email protected]> wrote:
>
> > > i've found where i was wrong, the thread is no more actual.
>
> > > --
> > >  Best regards,
> > >  Yuri
>
> > > On Oct 6, 11:20 am, shadow <[email protected]> wrote:
>
> > > > Here is flags which i set on each sample:
>
> > > >         markerInfo |= 
> > > > PVMF_MEDIA_DATA_MARKER_INFO_DURATION_AVAILABLE_BIT;
> > > >         markerInfo |= PVMF_MEDIA_DATA_MARKER_INFO_M_BIT;
> > > >         if ( bIsKeyFrame ) {
> > > >              markerInfo |=
> > > > PVMF_MEDIA_DATA_MARKER_INFO_RANDOM_ACCESS_POINT_BIT;
> > > >         }
>
> > > > Here is mine log:
>
> > > > =====================================================================
> > > > VLOG:TID(0xd528):Time=4152:PVMFOMXVideoDecNode::Run() - Calling
> > > > HandleProcessingState
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4152:PVMFOMXVideoDecNode::HandleProcessingState() In
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4152:PVMFOMXVideoDecNode::HandleProcessingState() Ready
> > > > To Decode start
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4152:PVMFOMXVideoDecNode::SendInputBufferToOMXComponent
> > > > () In
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4152:PVMFOMXVideoDecNode::SendInputBufferToOMXComponent
> > > > () - Buffer 0x4057c080 of size 1055, 1 frag out of tot. 1, TS=3200
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4153:PVMFOMXVideoDecNode::SendInputBufferToOMXComponent
> > > > () - END OF MESSAGE - Buffer 0x4057c080 MARKER bit set to 1, TS=3200,
> > > > Ticks=L
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4153:PVMFOMXVideoDecNode::SendInputBufferToOMXComponent
> > > > ()  - Sending Buffer 0x4057c080 to OMX Component MARKER field set to
> > > > 30, TS=3200, Ticks=L
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4154:PVMFOMXVideoDecNode::SendInputBufferToOMXComponent
> > > > () Out
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4154:PVMFOMXVideoDecNode::HandleProcessingState() Out
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4154:PVMFOMXVideoDecNode::Run() - LoopCount = 1, Time
> > > > spent in loop(in ms) = 3, iNumOutstandingInputBuffers = 4,
> > > > iNumOutstandingOutputBuffers = 2
> > > > 10-06 04:12:17.142: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4154:PVMFOMXVideoDecNode::Run() Out
> > > > 10-06 04:12:17.509: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4515:PVMFMediaClock::Run Timer for regular callback
> > > > currentTime - 1403 callbackTime - 1401 callbackMargin - 0 queue size -
> > > > 2 status - 4
> > > > 10-06 04:12:17.509: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4515:PVMediaOutputNodePort::ProcessCallBack In Callback
> > > > id [5] CallbackStatus [1]
> > > > 10-06 04:12:17.509: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4516:PVMediaOutputNodePort::CheckMediaTimeStamp - OnTime
> > > > - Fmt=X-YUV-420, Seq=4, Ts=1600, Clock=1403
> > > > 10-06 04:12:17.509: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4516:AndroidSurfaceOutput::writeAsync() seqnum 4 ts 1600
> > > > context 578476
> > > > 10-06 04:12:17.509: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4516:AndroidSurfaceOutput::writeAsync() Format Type 1
> > > > Format Index 1 length 38016
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4527:AndroidSurfaceOutput::writeAsync: Playback Progress
> > > > - frame 4
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMediaOutputNodePort::SendMediaData - AsyncWrite -
> > > > Fmt=X-YUV-420, Seq=4, TS=1600, Dur=0, FIdx=1, ClnUpQSize=2
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMFMediaClock::CalculateRunLTimerValue currtime
> > > > 1416 top.timeOut 2038
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMFMediaClock::AdjustScheduling Timer set for 622
> > > > msecs wall clock time
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMediaOutputNodePort::writeComplete status 1 cmdId
> > > > 11 context 0x8d3ac
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMediaOutputNodePort::writeComplete - Fmt=X-
> > > > YUV-420, Seq=3, TS=1200, FIdx=0, ClnUpQSize=1
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4528:PVMFOMXVideoDecNode::freechunkavailable() Memory
> > > > chunk in OUTPUT mempool was deallocated, 1 out of 2 now available
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::Run() In
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::Run() - Input commands empty
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::Run() - Calling
> > > > HandleProcessingState
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::HandleProcessingState() In
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::HandleProcessingState() Ready
> > > > To Decode start
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4529:PVMFOMXVideoDecNode::SendOutputBufferToOMXComponent
> > > > () In
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::SendOutputBufferToOMXComponent
> > > > () Out
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::HandleProcessingState() Out
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::Run() - LoopCount = 1, Time
> > > > spent in loop(in ms) = 4, iNumOutstandingInputBuffers = 4,
> > > > iNumOutstandingOutputBuffers = 2
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::Run() Out
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:EmptyBufferDoneThreadSafeCallbackAO::Run() In
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:EmptyBufferDoneThreadSafeCallbackAO::Run() - No
> > > > more events, call PendForExec()
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:EmptyBufferDoneThreadSafeCallbackAO::Run() -
> > > > Calling Process Event
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::EmptyBufferDoneProcessing: In
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4533:PVMFOMXVideoDecNode::EmptyBufferDoneProcessing:
> > > > Release input buffer with Ticks=2000000 (with 0 refcount remaining of
> > > > input message)
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4534:MEMP
> > > > MKVPar(Video) Chunk freed, 4/8 in use
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4534:PVMFOMXVideoDecNode::EmptyBufferDoneProcessing:
> > > > Release input buffer bc848 back to mempool - pointing to buffer
> > > > 4067c0d8
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4534:PVMFOMXVideoDecNode::freechunkavailable() Memory
> > > > chunk in INPUT mempool was deallocated, 7 out of 10 now available
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID
> > > > (0xd528):Time=4534:EmptyBufferDoneThreadSafeCallbackAO::Run() Out
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4534:*
> > > > CMKVParserNode::Run: Enter
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4536:*
> > > > CMKVParserNode::Run: Checking HandleTrackState = 4, cmd = 1
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4536:*
> > > > CMKVParserNode::Run(): ( iInterfaceState == EPVMFNodeStarted && !
> > > > FlushPending() )
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4536:*
> > > > CMKVParserNode::HandleTrackState(): Enter
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4536:*
> > > > CMKVParserNode::HandleTrackState(): Port ID = 0; Port State = 2
> > > > 10-06 04:12:17.521: ERROR/PV(554): PVLOG:TID(0xd528):Time=4536:*
> > > > CMKVParserNode::RetrieveTrackData(): Enter
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4537:MEMP
> > > > MKVPar(Video) Chunk allocated, 4/8 in use
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4537:*
> > > > CMKVParserNode::RetrieveTrackData(): currTicks = 2710
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4537:*
> > > > CMKVParserNode::RetrieveTrackData(): startTime = 2710
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4537:*
> > > > CMKVParserNode::RetrieveTrackData(): currTicks = 2711
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4537:*
> > > > CMKVParserNode::RetrieveTrackData(): endTime = 2711
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4538:*
> > > > CMKVParserNode::RetrieveTrackData():
> > > >  blockNode.allocatedSize = 1048576
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4538:*
> > > > CMKVParserNode::RetrieveTrackData(): ReadNextBlockByStream returned 0
> > > > 10-06 04:12:17.531: ERROR/PV(554): PVLOG:TID(0xd528):Time=4538:*
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to