Commit 7f3fecbd authored by Max Kellermann's avatar Max Kellermann

decoder/ffmpeg: simplify mpd_ffmpeg_open_input()

parent a2c6d5e1
...@@ -57,23 +57,19 @@ extern "C" { ...@@ -57,23 +57,19 @@ extern "C" {
#include <assert.h> #include <assert.h>
#include <string.h> #include <string.h>
/** static AVFormatContext *
* API compatibility wrapper for av_open_input_stream() and FfmpegOpenInput(AVIOContext *pb,
* avformat_open_input().
*/
static int
mpd_ffmpeg_open_input(AVFormatContext **ic_ptr,
AVIOContext *pb,
const char *filename, const char *filename,
AVInputFormat *fmt) AVInputFormat *fmt)
{ {
AVFormatContext *context = avformat_alloc_context(); AVFormatContext *context = avformat_alloc_context();
if (context == nullptr) if (context == nullptr)
return AVERROR(ENOMEM); return nullptr;
context->pb = pb; context->pb = pb;
*ic_ptr = context;
return avformat_open_input(ic_ptr, filename, fmt, nullptr); avformat_open_input(&context, filename, fmt, nullptr);
return context;
} }
static bool static bool
...@@ -557,10 +553,9 @@ ffmpeg_decode(Decoder &decoder, InputStream &input) ...@@ -557,10 +553,9 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
return; return;
} }
AVFormatContext *format_context = nullptr; AVFormatContext *format_context =
if (mpd_ffmpeg_open_input(&format_context, stream.io, FfmpegOpenInput(stream.io, input.GetURI(), input_format);
input.GetURI(), if (format_context == nullptr) {
input_format) != 0) {
LogError(ffmpeg_domain, "Open failed"); LogError(ffmpeg_domain, "Open failed");
return; return;
} }
...@@ -605,9 +600,9 @@ ffmpeg_scan_stream(InputStream &is, ...@@ -605,9 +600,9 @@ ffmpeg_scan_stream(InputStream &is,
if (!stream.Open()) if (!stream.Open())
return false; return false;
AVFormatContext *f = nullptr; AVFormatContext *f =
if (mpd_ffmpeg_open_input(&f, stream.io, is.GetURI(), FfmpegOpenInput(stream.io, is.GetURI(), input_format);
input_format) != 0) if (f == nullptr)
return false; return false;
bool result = FfmpegScanStream(*f, *handler, handler_ctx); bool result = FfmpegScanStream(*f, *handler, handler_ctx);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment