[vlc-devel] Sporadic-Frame Video Codec Problems
fcvlcdev at free.fr
Fri Jan 29 15:58:36 CET 2016
Le 29/01/2016 03:15, Michael Tänzer a écrit :
> 1. It seems that because the OggSpots codec only contains frames when
> the content changes, the video stream is unhappy that it doesn't get
Assuming this is a low fps problem, VLC does not behave well with low
frame per second.
But I believe the Ogg has on flaw in the rewrite to resolve the most
common issues, because it uses min(dts) from video/audio tracks for PCR.
It should increase PCR continuously and return chunks, or empty demux.
This would need queueing data as we have no real forecast about next dts
> enough data. So it thinks that is some kind of Jitter, which means that
> it calls input_clock_Reset() and that causes future target time
> calculation on the picture_t.date to fail:
> [00007f9f0cc25ad8] core decoder error: Timestamp conversion failed
> (delay 300000, buffering 100000, bound 9000000)
> [00007f9f0cc25ad8] core decoder error: Could not convert timestamp
Could not convert means there's no pcr (or has been reset) before
> 2. Seeking is not possible. Probably because the packages are too far
> apart, but I haven't really tried to pin this down. I wanted to solve
> the other issue first:
> [00007f9f0cc01b28] ogg demux error: Unmatched granule. New codec ?
> [00007f9f140009d8] core input error: INPUT_CONTROL_SET_POSITION(_OFFSET)
> 11.9% failed
> Can you point me into the right direction to solve this issue?
You have to do reverse granule mapping in oggseek.
> Approaches that came to my mind:
> - Rewrite the codec as a subtitle codec instead of a video codec
> (SPU_ES, SUBCAT_INPUT_SCODEC). But does VLC display such a codec if
> there is no video stream? Are there other issues to be aware of that
> come with this approach?
Will never work.
> - There might be some setting that I missed so far that allows me to
> signal to the video output that there is no problem if there is not a
> constant stream of frames.
Demux() returns success and does not send anything to es.
As mentioned above, there might be pcr issues with low fps.
> - Copy the last image into the stream whenever we need one and we
> haven't encountered a fresh one. But how can this copying be triggered?
> The DecodeBlock is only called if there is a new block from the demuxer,
> not when there is the need for a picture.
That belongs to the various hacks section.
More information about the vlc-devel