_TrackerLaunchDocuments() dereferences refs to copy it, so, we need
check that it isn't NULL first.
Also a few style fixes.
* Name params consistent with TTracker class methods
ref, message => appRef, refs
* Use NULL instead of 0 for NULL pointer.
- Ensure that start times are increased monotonically for video formats that
contain B-frames, too, as expected by the BMediaDecoders.
Previously start times were returned that seemed to go back in time for
videos containing B-frames.
Tested with resolutionchange.mpg (\see http://samples.ffmpeg.org/MPEG2)
Note: Even though start times aren't going back in time anymore there are
times where two consecutive start times are equal. This would need more
research once this exposes a bug in a real application. Further more this
might seem like a new bug, but before this commit the equal start times would
have simply some different start time[s] in between. So at most this is the
same bug just wearing new clothes :)
- Documentation updated accordingly.
- I misinterpreted the semantics of reordered_opaque. I thought it would
establish the correct relationship between the start_time returned by
GetNextChunk() and the next video frame successfully decoded. But for this
to work reordered_opaque expects to be filled with presentation time stamps.
A series of presentation time stamps may be jumping back in time due to the
presence of B-frames. The decoded frame presentation time stamps series would
then be ordered in a monotonically increased way.
But actually GetNextChunk() always returns monotonically increasing start
times. Mapping this behaviour to FFMPEG's expectations means labeling those
start times as decoding time stamps (dts). Though for those start times to be
related to the correct decoded video frames you have to assign the start time
with the AVPacket containing the data to be decoded.
- This commit finally makes DVB video playback working for me with the TV app.
Though no audio yet.
- The documentation was updated accordingly.
- This field is needed by the dvb.media_addon to detect a format change so
fill it with the correct value.
- Updated documentation accordingly to reflect reordered function calls and new
assumptions based on the function call ordering.