On Sun, 23 Nov 2014, Martin Storsjö wrote:
This fixes playback with dash.js, when the input is one separate
mp4 file per track.
---
tools/sidxindex.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/sidxindex.c b/tools/sidxindex.c
index da41d09..cb1b6c9 100644
--- a/tools/sidxindex.c
+++ b/tools/sidxindex.c
@@ -327,7 +327,7 @@ static int output_mpd(struct Tracks *tracks, const char
*filename)
for (i = 0; i < nb_tracks[set]; ) {
struct Track *first_track = adaptation_sets[set][i];
int width = 0, height = 0, sample_rate = 0, channels = 0, bitrate =
0;
- fprintf(out, "\t\t\t<Representation id=\"%d\" mimeType=\"video/mp4\"
codecs=\"", i);
+ fprintf(out, "\t\t\t<Representation id=\"%d\" codecs=\"", i);
for (j = i; j < nb_tracks[set]; j++) {
struct Track *track = adaptation_sets[set][j];
if (strcmp(track->name, first_track->name))
@@ -345,7 +345,8 @@ static int output_mpd(struct Tracks *tracks, const char
*filename)
fprintf(out, ",");
fprintf(out, "%s", track->codec_str);
}
- fprintf(out, "\" bandwidth=\"%d\"", bitrate);
+ fprintf(out, "\" mimeType=\"%s/mp4\" bandwidth=\"%d\"",
+ (sample_rate && !width) ? "audio" : "video", bitrate);
I'd probably simplify this even further into
width ? "video" : "audio"
Then you still get video/mp4 for video and video+audio. The behaviour for
the case when neither of them exist doesn't matter since non-audio/video
tracks are filtered out already earlier.
// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel