player, demux: replace some demux_open() uses with demux_open_url()

This commit is contained in:
wm4 2015-06-24 21:26:06 +02:00
parent ab2e3cf6f9
commit e4c5876f57
2 changed files with 8 additions and 18 deletions

View File

@ -56,10 +56,7 @@ static bool try_open(struct timeline *tl, char *filename)
|| bstrcasecmp(bstr0(tl->demuxer->filename), bfilename) == 0) || bstrcasecmp(bstr0(tl->demuxer->filename), bfilename) == 0)
return false; return false;
struct stream *s = stream_create(filename, STREAM_READ, tl->cancel, tl->global); struct demuxer *d = demux_open_url(filename, NULL, tl->cancel, tl->global);
if (!s)
return false;
struct demuxer *d = demux_open(s, NULL, tl->global);
// Since .bin files are raw PCM data with no headers, we have to explicitly // Since .bin files are raw PCM data with no headers, we have to explicitly
// open them. Also, try to avoid to open files that are most likely not .bin // open them. Also, try to avoid to open files that are most likely not .bin
// files, as that would only play noise. Checking the file extension is // files, as that would only play noise. Checking the file extension is
@ -69,14 +66,13 @@ static bool try_open(struct timeline *tl, char *filename)
if (!d && bstr_case_endswith(bfilename, bstr0(".bin"))) { if (!d && bstr_case_endswith(bfilename, bstr0(".bin"))) {
MP_WARN(tl, "CUE: Opening as BIN file!\n"); MP_WARN(tl, "CUE: Opening as BIN file!\n");
struct demuxer_params p = {.force_format = "rawaudio"}; struct demuxer_params p = {.force_format = "rawaudio"};
d = demux_open(s, &p, tl->global); d = demux_open_url(filename, &p, tl->cancel, tl->global);
} }
if (d) { if (d) {
add_source(tl, d); add_source(tl, d);
return true; return true;
} }
MP_ERR(tl, "Could not open source '%s'!\n", filename); MP_ERR(tl, "Could not open source '%s'!\n", filename);
free_stream(s);
return false; return false;
} }

View File

@ -875,14 +875,11 @@ static void load_chapters(struct MPContext *mpctx)
bool free_src = false; bool free_src = false;
char *chapter_file = mpctx->opts->chapter_file; char *chapter_file = mpctx->opts->chapter_file;
if (chapter_file && chapter_file[0]) { if (chapter_file && chapter_file[0]) {
struct stream *stream = stream_create(chapter_file, STREAM_READ, struct demuxer *demux = demux_open_url(chapter_file, NULL,
mpctx->playback_abort, mpctx->global); mpctx->playback_abort, mpctx->global);
if (stream) { if (demux) {
struct demuxer *demux = demux_open(stream, NULL, mpctx->global); src = demux;
if (demux) { free_src = true;
src = demux;
free_src = true;
}
} }
talloc_free(mpctx->chapters); talloc_free(mpctx->chapters);
mpctx->chapters = NULL; mpctx->chapters = NULL;
@ -892,11 +889,8 @@ static void load_chapters(struct MPContext *mpctx)
mpctx->num_chapters = src->num_chapters; mpctx->num_chapters = src->num_chapters;
mpctx->chapters = demux_copy_chapter_data(src->chapters, src->num_chapters); mpctx->chapters = demux_copy_chapter_data(src->chapters, src->num_chapters);
} }
if (free_src) { if (free_src)
struct stream *s = src->stream; free_demuxer_and_stream(src);
free_demuxer(src);
free_stream(s);
}
} }
static void load_per_file_options(m_config_t *conf, static void load_per_file_options(m_config_t *conf,