summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-04 02:09:47 +0200
committerwm4 <wm4@nowhere>2013-05-05 18:44:24 +0200
commit6a0421295ea985c3156d715666803053a12a6536 (patch)
tree8849493abaac6ab5c0326a31feb678f30d378174 /demux
parentb8fce1217c9e591ff36557c04f6c5881f9db3352 (diff)
downloadmpv-6a0421295ea985c3156d715666803053a12a6536.tar.bz2
mpv-6a0421295ea985c3156d715666803053a12a6536.tar.xz
demux_lavf: use demuxer ID for transport streams
Might help mapping tracks correctly to stream_bluray, fixing the issue with the track language not being reported.
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_lavf.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 7137a22226..e11d28c043 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -287,6 +287,8 @@ success:
static bool matches_avinputformat_name(struct lavf_priv *priv,
const char *name)
{
+ // At least mp4 has name="mov,mp4,m4a,3gp,3g2,mj2", so we split the name
+ // on "," in general.
const char *avifname = priv->avif->name;
while (1) {
const char *next = strchr(avifname, ',');
@@ -425,7 +427,8 @@ static void handle_stream(demuxer_t *demuxer, int i)
if (st->disposition & AV_DISPOSITION_DEFAULT)
sh->default_track = 1;
- if (matches_avinputformat_name(priv, "mpeg"))
+ if (matches_avinputformat_name(priv, "mpeg") ||
+ matches_avinputformat_name(priv, "mpegts"))
sh->demuxer_id = st->id;
AVDictionaryEntry *title = av_dict_get(st->metadata, "title", NULL, 0);
if (title && title->value)