Quantcast
Channel: Media Foundation Development for Windows Desktop forum
Viewing all articles
Browse latest Browse all 1079

Looping H264 decoded frames

$
0
0

I'm currently decoding H264 frames with the microsoft decoder and then rendering it to the screen.  It works fine for a few seconds and then goes into a weird loop where it shows a set of previous old samples and then a newer one.  It continuously loops through these same 2 sets only updating the second one to a somewhat newer series of samples.  I have the decoder set to low latency mode but even turning that off doesn't change anything. 

Here is a portion of the end of my mftrace log:

9588,26FC 18:28:53.13478 CMFMediaStreamDetours::EndGetEvent @006A5578 Met=213 MEMediaSample, value @084FCB60, 
9588,26FC 18:28:53.13480 CMFMediaStreamDetours::HandleEvent @006A5578 Sample @084FCB60, Time 34166ms, Duration 33ms, Buffers 1, Size 2807B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.13484 CMFTransformDetours::ProcessInput @003EE3F0 Stream ID 0, Sample @084FCB60, Time 34166ms, Duration 33ms, Buffers 1, Size 2807B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.13485 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.13489 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.13490 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.13491 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.13492 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.13493 CMFMediaStreamDetours::RequestSample @006A5578 Token @00000000
9588,26FC 18:28:53.16484 CMFMediaStreamDetours::EndGetEvent @006A5578 Met=213 MEMediaSample, value @084FCC50, 
9588,26FC 18:28:53.16486 CMFMediaStreamDetours::HandleEvent @006A5578 Sample @084FCC50, Time 34199ms, Duration 33ms, Buffers 1, Size 3034B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.16490 CMFTransformDetours::ProcessInput @003EE3F0 Stream ID 0, Sample @084FCC50, Time 34199ms, Duration 33ms, Buffers 1, Size 3034B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.16491 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.16495 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.16497 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.16498 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.16500 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.16501 CMFMediaStreamDetours::RequestSample @006A5578 Token @00000000
9588,26FC 18:28:53.19473 CMFMediaStreamDetours::EndGetEvent @006A5578 Met=213 MEMediaSample, value @084FCD40, 
9588,26FC 18:28:53.19475 CMFMediaStreamDetours::HandleEvent @006A5578 Sample @084FCD40, Time 34233ms, Duration 33ms, Buffers 1, Size 3198B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.19480 CMFTransformDetours::ProcessInput @003EE3F0 Stream ID 0, Sample @084FCD40, Time 34233ms, Duration 33ms, Buffers 1, Size 3198B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.19480 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.19484 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.19486 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.19487 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.19488 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.19489 CMFMediaStreamDetours::RequestSample @006A5578 Token @00000000
9588,26FC 18:28:53.22486 CMFMediaStreamDetours::EndGetEvent @006A5578 Met=213 MEMediaSample, value @084FCEA8, 
9588,26FC 18:28:53.22488 CMFMediaStreamDetours::HandleEvent @006A5578 Sample @084FCEA8, Time 34266ms, Duration 33ms, Buffers 1, Size 3320B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.22492 CMFTransformDetours::ProcessInput @003EE3F0 Stream ID 0, Sample @084FCEA8, Time 34266ms, Duration 33ms, Buffers 1, Size 3320B, MFSampleExtension_Token=@00000000
9588,26FC 18:28:53.22492 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.22496 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,26FC 18:28:53.22528 CMFTransformDetours::ProcessOutput @003EE3F0 Stream ID 0, Sample @031E38F0, Time 33999ms, Duration 499ms, Buffers 1, Size 460800B, {B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0;MFSampleExtension_Discontinuity=0;MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
9588,26FC 18:28:53.22533 CMFPresentationClockDetours::GetTime @0068B780 Time 341854922hns
9588,26FC 18:28:53.22536 CMFStreamSinkDetours::ProcessSample @006AF328 Sample @031E38F0, Time 33999ms, Duration 499ms, Buffers 1, Size 460800B, {B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0;MFSampleExtension_Discontinuity=0;MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0;MFSampleExtension_Token=@006B2BD0
9588,26FC 18:28:53.22538 CMFTransformDetours::ProcessInput @0312F024 Stream ID 0, Sample @031E38F0, Time 33999ms, Duration 499ms, Buffers 1, Size 460800B, {B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0;MFSampleExtension_Discontinuity=0;MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0;MFSampleExtension_Token=@006B2BD0
9588,26FC 18:28:53.22560 CMFTransformDetours::ProcessOutput @0312F024 Stream ID 0, Sample @03134C88, Time 33999ms, Duration 499ms, Buffers 1, Size 844676B, 
9588,26FC 18:28:53.22566 CMFTransformDetours::ProcessOutput @0312F024 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.22568 CMFStreamSinkDetours::EndGetEvent @006AF328 Met=305 MEStreamSinkRequestSample, value (empty), 
9588,26FC 18:28:53.22570 CMFTransformDetours::ProcessMessage @003EE3F0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
9588,2784 18:28:53.22571 CMFQualityManagerDetours::NotifyQualityEvent @0068BA10 Object=0x006AF0B0 Event=0x006AB7C8 Type=311 ExtendedType={F6B44AF8-604D-46FE-A95D-45479B10C9BC} Value=0ms
9588,26FC 18:28:53.22571 CMFTransformDetours::ProcessOutput @003EE3F0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
9588,26FC 18:28:53.22573 CMFMediaStreamDetours::RequestSample @006A5578 Token @00000000
I can see that at a certain point the decoder is unable to process the data until it fills up a buffer of 499ms worth of samples but I don't understand why.  I'm so confused as to why this isn't working.  Especially why it's displaying samples from so long ago but, I don't see any indication of using those samples in the trace.  Any help would be greatly appreciated.  I'm desperate to find out why this is happening.


Viewing all articles
Browse latest Browse all 1079

Trending Articles