diff mbox

[FFmpeg-devel] DASH manifest conformance (was: Re: [PATCH 0/7] dashenc fixes)

Message ID 20171027212816.3b734f5c@friiks.de
State New
Headers show

Commit Message

Peter Große Oct. 27, 2017, 7:28 p.m. UTC
On Thu, 26 Oct 2017 18:32:57 +0200
Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:

> 2017-10-26 18:28 GMT+02:00 Peter Große <pegro@friiks.de>:
> > On Thu, 26 Oct 2017 18:07:55 +0200
> > Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> >  
> >> Did you test our dash muxer lately with some validation tool?
> >> Errors were reported in the past.  
> >
> > No official validation tool, no.  
> 
> The following was mentioned in the past iirc:
> http://www-itec.uni-klu.ac.at/dash/?page_id=605

With the attached patch and checking against the current conformance XSD [1]
instead of their "Standard XSD", I get a "Your DASH-MPD is VALID" logo.

Regards
Peter

[1]
https://github.com/Dash-Industry-Forum/Conformance-and-reference-source/blob/master/conformance/MPDValidator/schemas/DASH-MPD.xsd

Comments

Michael Niedermayer Oct. 28, 2017, 6:26 p.m. UTC | #1
On Fri, Oct 27, 2017 at 09:28:16PM +0200, Peter Große wrote:
> On Thu, 26 Oct 2017 18:32:57 +0200
> Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 
> > 2017-10-26 18:28 GMT+02:00 Peter Große <pegro@friiks.de>:
> > > On Thu, 26 Oct 2017 18:07:55 +0200
> > > Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> > >  
> > >> Did you test our dash muxer lately with some validation tool?
> > >> Errors were reported in the past.  
> > >
> > > No official validation tool, no.  
> > 
> > The following was mentioned in the past iirc:
> > http://www-itec.uni-klu.ac.at/dash/?page_id=605
> 
> With the attached patch and checking against the current conformance XSD [1]
> instead of their "Standard XSD", I get a "Your DASH-MPD is VALID" logo.
> 
> Regards
> Peter
> 
> [1]
> https://github.com/Dash-Industry-Forum/Conformance-and-reference-source/blob/master/conformance/MPDValidator/schemas/DASH-MPD.xsd
> 
> 

>  dashenc.c |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> b5414faf2d7a219c5d8a2335eb33799654cd773a  0001-dashenc-move-UTCTiming-element-to-the-end-of-the-man.patch
> From 7a731e2d0d1fd9c771b0cc2730a812e84ae9981e Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Peter=20Gro=C3=9Fe?= <pegro@friiks.de>
> Date: Fri, 27 Oct 2017 21:18:47 +0200
> Subject: [PATCH 1/1] dashenc: move UTCTiming element to the end of the
>  manifest
> To: ffmpeg-devel@ffmpeg.org
> 
> Required by comformance XSD [1].
> 
> [1] https://github.com/Dash-Industry-Forum/Conformance-and-reference-source/blob/master/conformance/MPDValidator/schemas/DASH-MPD.xsd
> ---
>  libavformat/dashenc.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

applied

thx

[...]
Carl Eugen Hoyos Oct. 28, 2017, 6:45 p.m. UTC | #2
2017-10-27 21:28 GMT+02:00 Peter Große <pegro@friiks.de>:
> On Thu, 26 Oct 2017 18:32:57 +0200
> Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>
>> 2017-10-26 18:28 GMT+02:00 Peter Große <pegro@friiks.de>:
>> > On Thu, 26 Oct 2017 18:07:55 +0200
>> > Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> >
>> >> Did you test our dash muxer lately with some validation tool?
>> >> Errors were reported in the past.
>> >
>> > No official validation tool, no.
>>
>> The following was mentioned in the past iirc:
>> http://www-itec.uni-klu.ac.at/dash/?page_id=605
>
> With the attached patch and checking against the current conformance XSD [1]
> instead of their "Standard XSD", I get a "Your DASH-MPD is VALID" logo.

Thank you for testing!

Carl Eugen
diff mbox

Patch

From 7a731e2d0d1fd9c771b0cc2730a812e84ae9981e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Peter=20Gro=C3=9Fe?= <pegro@friiks.de>
Date: Fri, 27 Oct 2017 21:18:47 +0200
Subject: [PATCH 1/1] dashenc: move UTCTiming element to the end of the
 manifest
To: ffmpeg-devel@ffmpeg.org

Required by comformance XSD [1].

[1] https://github.com/Dash-Industry-Forum/Conformance-and-reference-source/blob/master/conformance/MPDValidator/schemas/DASH-MPD.xsd
---
 libavformat/dashenc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index d3b0464d79..8c216a3af8 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -647,8 +647,6 @@  static int write_manifest(AVFormatContext *s, int final)
         av_free(escaped);
     }
     avio_printf(out, "\t</ProgramInformation>\n");
-    if (c->utc_timing_url)
-        avio_printf(out, "\t<UTCTiming schemeIdUri=\"urn:mpeg:dash:utc:http-xsdate:2014\" value=\"%s\"/>\n", c->utc_timing_url);
 
     if (c->window_size && s->nb_streams > 0 && c->streams[0].nb_segments > 0 && !c->use_template) {
         OutputStream *os = &c->streams[0];
@@ -666,6 +664,10 @@  static int write_manifest(AVFormatContext *s, int final)
             return ret;
     }
     avio_printf(out, "\t</Period>\n");
+
+    if (c->utc_timing_url)
+        avio_printf(out, "\t<UTCTiming schemeIdUri=\"urn:mpeg:dash:utc:http-xsdate:2014\" value=\"%s\"/>\n", c->utc_timing_url);
+
     avio_printf(out, "</MPD>\n");
     avio_flush(out);
     ff_format_io_close(s, &out);
-- 
2.13.6