This creates best-effort results from input that is missing stream
contents, there are warnings printed when this happens.
---
 tools/ismindex.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/ismindex.c b/tools/ismindex.c
index f49916a..d91925e 100644
--- a/tools/ismindex.c
+++ b/tools/ismindex.c
@@ -504,6 +504,10 @@ static void output_client_manifest(struct Tracks *tracks, 
const char *basename,
             track = tracks->tracks[i];
             if (!track->is_video)
                 continue;
+            if (track->bitrate == 0) {
+                fprintf(stderr, "Skipping video track %d as it has zero 
bitrate\n", i);
+                continue;
+            }
             fprintf(out,
                     "\t\t<QualityLevel Index=\"%d\" Bitrate=\"%d\" "
                     "FourCC=\"%s\" MaxWidth=\"%d\" MaxHeight=\"%d\" "
@@ -516,6 +520,10 @@ static void output_client_manifest(struct Tracks *tracks, 
const char *basename,
             if (track->chunks != first_track->chunks)
                 fprintf(stderr, "Mismatched number of video chunks in %s (id: 
%d, chunks %d) and %s (id: %d, chunks %d)\n",
                         track->name, track->track_id, track->chunks, 
first_track->name, first_track->track_id, first_track->chunks);
+            if (track->chunks > first_track->chunks) {
+                first_track = track;
+                tracks->video_track = i;
+            }
         }
         print_track_chunks(out, tracks, tracks->video_track, "video");
         fprintf(out, "\t</StreamIndex>\n");
-- 
1.8.5.2 (Apple Git-48)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to