From 533e4fcdadf70cc2899f8e93a1aadfb219693a9c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 13 Dec 2011 20:08:31 +0100 Subject: decoder/mp4ff: work around assertion failure in read() callback This workaround leads to an infinite loop instead of an assertion failure, but hey, now it's libmp4ff's fault. --- src/decoder/mp4ff_decoder_plugin.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/decoder') diff --git a/src/decoder/mp4ff_decoder_plugin.c b/src/decoder/mp4ff_decoder_plugin.c index 861b08194..cd85778f8 100644 --- a/src/decoder/mp4ff_decoder_plugin.c +++ b/src/decoder/mp4ff_decoder_plugin.c @@ -94,6 +94,12 @@ mp4_read(void *user_data, void *buffer, uint32_t length) { struct mp4ff_input_stream *mis = user_data; + if (length == 0) + /* libmp4ff is known to attempt to read 0 bytes - make + this a special case, because the input_stream API + would not allow this */ + return 0; + return decoder_read(mis->decoder, mis->input_stream, buffer, length); } -- cgit v1.2.3