- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is my finding:
- The h264 Decoder says its running out of source data a few frames before the end of the files.
Calling
umcRes = m_umc.decoder->GetFrame(m_umc.mediaData, m_umc.videoData);
returnsUMC::UMC_ERR_NOT_ENOUGH_DATA
and
umcRes = m_umc.splitter->GetNextData(m_umc.mediaData, m_umc.nVideoTrack);
returns
UMC::UMC_ERR_END_OF_STREAM
So there is no more data to give to the decoder.
In my test case a file with 2247 frames get 2244 frames decode and then return the above.
But if I loop the file, by calling this when reachingUMC::UMC_ERR_END_OF_STREAM
m_umc.splitter->SetTimePosition(0);
// m_umc.decoder->Reset() // Dont reset the decoder to see what happen
The decoder returns the missing frames!
Conclusion: It seem that decoder want more data then it needs to decode the last frames in a file.
I suggest that the UMC team devise a test that decode only the last frame of a file.
1) Seek to the last frame start time
2) From the actual position (iframe) , decode N frame to reach the last frame
It cannot be done with the h264 decoder...
Thanks for looking in to this,
Stephan
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Stephan,
I've seen something like this reported before, looking for some threads that are related. Found this one, not sure if it helps.
Will provide more feedback as I find it.
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
I seen this thread but its not related since I can seek correctly.
(Beside reset() crashing the decoder when its initialed to use >1 thread , see my other post)
I will try with another decoder (mpeg2) ... and report on monday
Stephan
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page