[FFmpeg-cvslog] ffprobe: fix validity error with tags and data.
Nicolas George
git at videolan.org
Tue Jul 31 16:21:01 CEST 2012
ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Tue Jul 31 11:53:30 2012 +0200| [89898cd3b6b2806bf823678a47d17f9ed745c69e] | committer: Nicolas George
ffprobe: fix validity error with tags and data.
Add "data" and "extradata" attributes to the schema.
Add "tag" element in "streams".
Print extradata before tags to avoid closing the element.
Fix trac ticket #1588.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=89898cd3b6b2806bf823678a47d17f9ed745c69e
---
doc/ffprobe.xsd | 6 ++++++
ffprobe.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
index 13c0d02..4340d46 100644
--- a/doc/ffprobe.xsd
+++ b/doc/ffprobe.xsd
@@ -44,6 +44,7 @@
<xsd:attribute name="size" type="xsd:long" use="required" />
<xsd:attribute name="pos" type="xsd:long" />
<xsd:attribute name="flags" type="xsd:string" use="required" />
+ <xsd:attribute name="data" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="frameType">
@@ -86,6 +87,10 @@
</xsd:complexType>
<xsd:complexType name="streamType">
+ <xsd:sequence>
+ <xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+
<xsd:attribute name="index" type="xsd:int" use="required"/>
<xsd:attribute name="codec_name" type="xsd:string" />
<xsd:attribute name="codec_long_name" type="xsd:string" />
@@ -94,6 +99,7 @@
<xsd:attribute name="codec_time_base" type="xsd:string" use="required"/>
<xsd:attribute name="codec_tag" type="xsd:string" use="required"/>
<xsd:attribute name="codec_tag_string" type="xsd:string" use="required"/>
+ <xsd:attribute name="extradata" type="xsd:string" />
<!-- video attributes -->
<xsd:attribute name="width" type="xsd:int"/>
diff --git a/ffprobe.c b/ffprobe.c
index f81bc3b..9bedbeb 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1844,10 +1844,10 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
else print_str_opt("nb_read_frames", "N/A");
if (nb_streams_packets[stream_idx]) print_fmt ("nb_read_packets", "%"PRIu64, nb_streams_packets[stream_idx]);
else print_str_opt("nb_read_packets", "N/A");
- show_tags(stream->metadata);
if (do_show_data)
writer_print_data(w, "extradata", dec_ctx->extradata,
dec_ctx->extradata_size);
+ show_tags(stream->metadata);
print_section_footer("stream");
av_bprint_finalize(&pbuf, NULL);
More information about the ffmpeg-cvslog
mailing list