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 -~----------~----~----~----~------~----~------~--~---
