decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream()

libavformat 0.6 does not pass the original URI pointer to the "open"
method, which leads to a crash because MPD was using a dirty hack to
pass a pointer to that method.

This patch switches to av_open_input_stream() with a custom
ByteIOContext class, instead of doing the URI string hack with
av_open_input_file().

Loosely based on a patch from Jasper St. Pierre.
This commit is contained in:
Max Kellermann
2010-06-30 23:27:45 +02:00
parent 375a09d6f6
commit 49bc317fb8
2 changed files with 53 additions and 82 deletions

1
NEWS
View File

@@ -8,6 +8,7 @@ ver 0.15.11 (2010/??/??)
- ffmpeg: fix memory leak
- ffmpeg: free AVFormatContext on error
- ffmpeg: read more metadata
- ffmpeg: fix libavformat 0.6 by using av_open_input_stream()
* playlist: emit IDLE_OPTIONS when resetting single mode
* listen: make get_remote_uid() work on BSD