mirror of https://github.com/mpv-player/mpv
player, demux: replace some demux_open() uses with demux_open_url()
This commit is contained in:
parent
ab2e3cf6f9
commit
e4c5876f57
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue