[FFmpeg-devel] [PATCH] HLS problem
Martin Storsjö
martin
Thu Jan 13 07:30:59 CET 2011
On Wed, 12 Jan 2011, Reimar D?ffinger wrote:
> On Wed, Jan 12, 2011 at 06:57:07PM +0100, Michael Niedermayer wrote:
> >
> > About ByteIOContext, which part does not handle incomplete reads?
>
> Hm, looks like I vastly overestimated the issue, in which case I agree
> above patch is not acceptable.
> I haven't tested it, but I suspect that get_buffer and fill_buffer both
> need to handle EAGAIN.
> I don't fully understand that though, since that really should lead to EOF instead
> of constant decode errors...
Exactly, if that's the issue, it would be much more visible.
One wild guess on what's wrong is the mpegts demuxer trying to do a bit of
backwards seeks. If filling all of the ByteIOContext buffer with
url_read_complete, these backwards seeks probably work better than if we
only buffer as much data at a time as the lower protocol function returns.
I'm not sure of all the details in fill_buffer, but it looks like it quite
often could throw away the previously buffered data (e.g. if we have a 32k
buffer, but only get 1k returned by url_read at a time, and we throw away
the previously read 1k in hoping of getting a full buffer in the next
fill_buffer()).
// Martin
More information about the ffmpeg-devel
mailing list