[FFmpeg-devel] [PATCH 2/2] dashenc: add profile_identifier option

s-ol sol.bekic at rise.tech
Thu Feb 9 18:05:47 EET 2017


sets the MPEG-DASH profile identifier in the header (for example for
specifying on-demand vs default live profile)

Signed-off-by: Sol Bekic <sol.bekic at rise.tech>
---
 libavformat/dashenc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 18c39c5..0c06474 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -96,6 +96,7 @@ typedef struct DASHContext {
     const char *single_file_name;
     const char *init_seg_name;
     const char *media_seg_name;
+    const char *profile_identifier;
     AVRational min_frame_rate, max_frame_rate;
     int ambiguous_frame_rate;
 } DASHContext;
@@ -457,8 +458,8 @@ static int write_manifest(AVFormatContext *s, int final)
                 "\txmlns=\"urn:mpeg:dash:schema:mpd:2011\"\n"
                 "\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n"
                 "\txsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd\"\n"
-                "\tprofiles=\"urn:mpeg:dash:profile:isoff-live:2011\"\n"
-                "\ttype=\"%s\"\n", final ? "static" : "dynamic");
+                "\tprofiles=\"%s\"\n", c->profile_identifier);
+    avio_printf(out, "\ttype=\"%s\"\n", final ? "static" : "dynamic");
     if (final) {
         avio_printf(out, "\tmediaPresentationDuration=\"");
         write_time(out, c->total_duration);
@@ -1028,6 +1029,7 @@ static const AVOption options[] = {
     { "single_file_name", "DASH-templated name to be used for baseURL. Implies storing all segments in one file, accessed using byte ranges", OFFSET(single_file_name), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, E },
     { "init_seg_name", "DASH-templated name to used for the initialization segment", OFFSET(init_seg_name), AV_OPT_TYPE_STRING, {.str = "init-stream$RepresentationID$.m4s"}, 0, 0, E },
     { "media_seg_name", "DASH-templated name to used for the media segments", OFFSET(media_seg_name), AV_OPT_TYPE_STRING, {.str = "chunk-stream$RepresentationID$-$Number%05d$.m4s"}, 0, 0, E },
+    { "profile_identifier", "DASH profile identifier", OFFSET(profile_identifier), AV_OPT_TYPE_STRING, {.str = "urn:mpeg:dash:profile:isoff-live:2011"}, 0, 0, E },
     { NULL },
 };
 
-- 
2.9.3 (Apple Git-75)



More information about the ffmpeg-devel mailing list