From 73c76de91edbf8a55eb725196ff54583e3428510 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 8 Jul 2013 01:37:30 +0200 Subject: demux: simplify demux_open() calls The demux_open as well as demux_open_withparams calls don't use the stream selection parameters anymore, so remove them everywhere. Completes the previous commit. --- core/mplayer.c | 11 +---------- core/timeline/tl_cue.c | 12 ++---------- core/timeline/tl_edl.c | 3 --- core/timeline/tl_matroska.c | 3 +-- demux/demux.c | 27 +++++++++------------------ demux/demux.h | 6 ++---- 6 files changed, 15 insertions(+), 47 deletions(-) diff --git a/core/mplayer.c b/core/mplayer.c index 78fb8c9a8e..019d37081d 100644 --- a/core/mplayer.c +++ b/core/mplayer.c @@ -3890,20 +3890,12 @@ static struct track *open_external_file(struct MPContext *mpctx, char *filename, stream_enable_cache_percent(&stream, stream_cache, opts->stream_cache_min_percent, opts->stream_cache_seek_min_percent); - // deal with broken demuxers: preselect streams - int vs = -2, as = -2, ss = -2; - switch (filter) { - case STREAM_VIDEO: vs = -1; break; - case STREAM_AUDIO: as = -1; break; - case STREAM_SUB: ss = -1; break; - } - vs = -1; // avi can't go without video struct demuxer_params params = { .ass_library = mpctx->ass_library, // demux_libass requires it }; struct demuxer *demuxer = demux_open_withparams(&mpctx->opts, stream, format, demuxer_name, - as, vs, ss, filename, ¶ms); + filename, ¶ms); if (!demuxer) { free_stream(stream); goto err_out; @@ -4219,7 +4211,6 @@ goto_reopen_demuxer: ; mpctx->audio_delay = opts->audio_delay; mpctx->demuxer = demux_open(opts, mpctx->stream, file_format, - opts->audio_id, opts->video_id, opts->sub_id, mpctx->filename); mpctx->master_demuxer = mpctx->demuxer; diff --git a/core/timeline/tl_cue.c b/core/timeline/tl_cue.c index d9160e0b8e..a965cfd877 100644 --- a/core/timeline/tl_cue.c +++ b/core/timeline/tl_cue.c @@ -192,11 +192,7 @@ static bool try_open(struct MPContext *mpctx, char *filename) struct stream *s = open_stream(filename, &mpctx->opts, &format); if (!s) return false; - struct demuxer *d = demux_open(&mpctx->opts, s, format, - mpctx->opts.audio_id, - mpctx->opts.video_id, - mpctx->opts.sub_id, - filename); + struct demuxer *d = demux_open(&mpctx->opts, s, format, filename); // 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 // files, as that would only play noise. Checking the file extension is @@ -205,11 +201,7 @@ static bool try_open(struct MPContext *mpctx, char *filename) // CD sector size (2352 bytes) if (!d && bstr_case_endswith(bfilename, bstr0(".bin"))) { mp_msg(MSGT_CPLAYER, MSGL_WARN, "CUE: Opening as BIN file!\n"); - d = demux_open(&mpctx->opts, s, DEMUXER_TYPE_RAWAUDIO, - mpctx->opts.audio_id, - mpctx->opts.video_id, - mpctx->opts.sub_id, - filename); + d = demux_open(&mpctx->opts, s, DEMUXER_TYPE_RAWAUDIO, filename); } if (d) { add_source(mpctx, d); diff --git a/core/timeline/tl_edl.c b/core/timeline/tl_edl.c index 5ec04ac716..0303956513 100644 --- a/core/timeline/tl_edl.c +++ b/core/timeline/tl_edl.c @@ -360,9 +360,6 @@ void build_edl_timeline(struct MPContext *mpctx) if (!s) goto openfail; struct demuxer *d = demux_open(&mpctx->opts, s, format, - mpctx->opts.audio_id, - mpctx->opts.video_id, - mpctx->opts.sub_id, edl_ids[i].filename); if (!d) { free_stream(s); diff --git a/core/timeline/tl_matroska.c b/core/timeline/tl_matroska.c index 11fcc67583..6752b5ff4c 100644 --- a/core/timeline/tl_matroska.c +++ b/core/timeline/tl_matroska.c @@ -117,8 +117,7 @@ static struct demuxer *open_demuxer(struct stream *stream, struct MPContext *mpctx, char *filename, struct demuxer_params *params) { return demux_open_withparams(&mpctx->opts, stream, - DEMUXER_TYPE_MATROSKA, NULL, mpctx->opts.audio_id, - mpctx->opts.video_id, mpctx->opts.sub_id, filename, params); + DEMUXER_TYPE_MATROSKA, NULL, filename, params); } static int enable_cache(struct MPContext *mpctx, struct stream **stream, diff --git a/demux/demux.c b/demux/demux.c index 1d91920054..073a7a2bb6 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -236,7 +236,7 @@ static const demuxer_desc_t *get_demuxer_desc_from_type(int file_format) static demuxer_t *new_demuxer(struct MPOpts *opts, stream_t *stream, int type, - int a_id, int v_id, int s_id, char *filename) + char *filename) { struct demuxer *d = talloc_zero(NULL, struct demuxer); d->stream = stream; @@ -687,15 +687,13 @@ static int get_demuxer_type_from_name(char *demuxer_name, int *force) static struct demuxer *open_given_type(struct MPOpts *opts, const struct demuxer_desc *desc, struct stream *stream, bool force, - int audio_id, int video_id, int sub_id, char *filename, struct demuxer_params *params) { struct demuxer *demuxer; int fformat; mp_msg(MSGT_DEMUXER, MSGL_V, "Trying demuxer: %s\n", desc->name); - demuxer = new_demuxer(opts, stream, desc->type, audio_id, - video_id, sub_id, filename); + demuxer = new_demuxer(opts, stream, desc->type, filename); demuxer->params = params; if (desc->check_file) fformat = desc->check_file(demuxer); @@ -748,8 +746,7 @@ static struct demuxer *open_given_type(struct MPOpts *opts, "BUG: recursion to nonexistent file format\n"); return NULL; } - return open_given_type(opts, desc, stream, false, audio_id, - video_id, sub_id, filename, params); + return open_given_type(opts, desc, stream, false, filename, params); } fail: free_demuxer(demuxer); @@ -758,8 +755,7 @@ static struct demuxer *open_given_type(struct MPOpts *opts, struct demuxer *demux_open_withparams(struct MPOpts *opts, struct stream *stream, int file_format, - char *force_format, int audio_id, - int video_id, int sub_id, char *filename, + char *force_format, char *filename, struct demuxer_params *params) { struct demuxer *demuxer = NULL; @@ -781,15 +777,13 @@ struct demuxer *demux_open_withparams(struct MPOpts *opts, if (!desc) // should only happen with obsolete -demuxer 99 numeric format return NULL; - return open_given_type(opts, desc, stream, force, audio_id, - video_id, sub_id, filename, params); + return open_given_type(opts, desc, stream, force, filename, params); } // Test demuxers with safe file checks for (int i = 0; (desc = demuxer_list[i]); i++) { if (desc->safe_check) { - demuxer = open_given_type(opts, desc, stream, false, audio_id, - video_id, sub_id, filename, params); + demuxer = open_given_type(opts, desc, stream, false, filename, params); if (demuxer) return demuxer; } @@ -801,8 +795,7 @@ struct demuxer *demux_open_withparams(struct MPOpts *opts, if (filename && opts->extension_parsing == 1) { desc = get_demuxer_desc_from_type(demuxer_type_by_filename(filename)); if (desc) - demuxer = open_given_type(opts, desc, stream, false, audio_id, - video_id, sub_id, filename, params); + demuxer = open_given_type(opts, desc, stream, false, filename, params); if (demuxer) return demuxer; } @@ -810,8 +803,7 @@ struct demuxer *demux_open_withparams(struct MPOpts *opts, // Finally try detection for demuxers with unsafe checks for (int i = 0; (desc = demuxer_list[i]); i++) { if (!desc->safe_check && desc->check_file) { - demuxer = open_given_type(opts, desc, stream, false, audio_id, - video_id, sub_id, filename, params); + demuxer = open_given_type(opts, desc, stream, false, filename, params); if (demuxer) return demuxer; } @@ -821,11 +813,10 @@ struct demuxer *demux_open_withparams(struct MPOpts *opts, } struct demuxer *demux_open(struct MPOpts *opts, stream_t *vs, int file_format, - int audio_id, int video_id, int sub_id, char *filename) { return demux_open_withparams(opts, vs, file_format, opts->demuxer_name, - audio_id, video_id, sub_id, filename, NULL); + filename, NULL); } void demux_flush(demuxer_t *demuxer) diff --git a/demux/demux.h b/demux/demux.h index 93cf680bae..aa36d2f224 100644 --- a/demux/demux.h +++ b/demux/demux.h @@ -280,13 +280,11 @@ struct demux_packet *ds_get_packet2(struct demux_stream *ds, bool repeat_last); double ds_get_next_pts(struct demux_stream *ds); struct demuxer *demux_open(struct MPOpts *opts, struct stream *stream, - int file_format, int aid, int vid, int sid, - char *filename); + int file_format, char *filename); struct demuxer *demux_open_withparams(struct MPOpts *opts, struct stream *stream, int file_format, - char *force_format, int audio_id, - int video_id, int sub_id, char *filename, + char *force_format, char *filename, struct demuxer_params *params); void demux_flush(struct demuxer *demuxer); -- cgit v1.2.3