[FFmpeg-devel] =?y?q?=5BPATCH=5D=20tests=3A=20add=20fate-ffprobe=20test?=

Stefano Sabatini stefasab at gmail.com
Wed Sep 19 11:06:41 CEST 2012


---
 tests/Makefile                 |   16 +
 tests/fate/ffprobe.mak         |   33 ++
 tests/ref/fate/ffprobe_compact |   44 +++
 tests/ref/fate/ffprobe_csv     |   44 +++
 tests/ref/fate/ffprobe_default |  776 +++++++++++++++++++++++++++++++++++++++
 tests/ref/fate/ffprobe_flat    |  688 +++++++++++++++++++++++++++++++++++
 tests/ref/fate/ffprobe_ini     |  779 ++++++++++++++++++++++++++++++++++++++++
 tests/ref/fate/ffprobe_json    |  762 +++++++++++++++++++++++++++++++++++++++
 tests/ref/fate/ffprobe_xml     |   57 +++
 9 files changed, 3199 insertions(+), 0 deletions(-)
 create mode 100644 tests/fate/ffprobe.mak
 create mode 100644 tests/ref/fate/ffprobe_compact
 create mode 100644 tests/ref/fate/ffprobe_csv
 create mode 100644 tests/ref/fate/ffprobe_default
 create mode 100644 tests/ref/fate/ffprobe_flat
 create mode 100644 tests/ref/fate/ffprobe_ini
 create mode 100644 tests/ref/fate/ffprobe_json
 create mode 100644 tests/ref/fate/ffprobe_xml

diff --git a/tests/Makefile b/tests/Makefile
index 81ce3e1..6a4d081 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -32,6 +32,18 @@ tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data
 
 tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
 
+FFPROBE_GENTEST_CMD = ffmpeg$(EXESUF) \
+	-f lavfi -i "aevalsrc=sin(400*PI*2*t)::d=0.25[out0]; testsrc=d=0.25[out1]; testsrc=s=100x100:d=0.25[out2]" \
+	-flags +bitexact  -map 0:0 -map 0:1 -map 0:2 \
+	-metadata "title=ffprobe test file" \
+	-metadata "comment='A comment wih XML & JSON special chars': <tag value=\"x\">" \
+        -metadata "comment2=I ♥ Üñîçød€" \
+	-vcodec rawvideo -acodec pcm_s16le \
+	-y
+
+tests/data/ffprobe-test.nut: ffmpeg$(EXESUF)
+	$(M)$(FFPROBE_GENTEST_CMD) $@
+
 include $(SRC_PATH)/tests/fate/acodec.mak
 include $(SRC_PATH)/tests/fate/vcodec.mak
 
@@ -52,6 +64,7 @@ include $(SRC_PATH)/tests/fate/demux.mak
 include $(SRC_PATH)/tests/fate/dfa.mak
 include $(SRC_PATH)/tests/fate/dpcm.mak
 include $(SRC_PATH)/tests/fate/ea.mak
+include $(SRC_PATH)/tests/fate/ffprobe.mak
 include $(SRC_PATH)/tests/fate/filter.mak
 include $(SRC_PATH)/tests/fate/flac.mak
 include $(SRC_PATH)/tests/fate/fft.mak
@@ -103,9 +116,12 @@ FATE_EXTERN += $(FATE_EXTERN-yes)
 
 FATE += $(FATE-yes)
 FATE += $(FATE_LIBAVUTIL)
+FATE += $(FATE_FFPROBE)
 
 $(FATE_FFMPEG) $(FATE_LAVF_FATE) $(FATE_SAMPLES_AVCONV) $(FATE_SAMPLES_FFMPEG): ffmpeg$(EXESUF)
 
+$(FATE_FFPROBE): ffprobe$(EXESUF)
+
 $(FATE_LAVF):  $(AREF) $(VREF)
 $(FATE_LAVFI): $(VREF) libavfilter/filtfmts-test$(EXESUF)
 $(FATE_SEEK):  fate-acodec fate-vsynth2 fate-lavf libavformat/seek-test$(EXESUF)
diff --git a/tests/fate/ffprobe.mak b/tests/fate/ffprobe.mak
new file mode 100644
index 0000000..56f283b
--- /dev/null
+++ b/tests/fate/ffprobe.mak
@@ -0,0 +1,33 @@
+FFPROBE_TEST_FILE=tests/data/ffprobe-test.nut
+FFPROBE_COMMAND=ffprobe$(EXESUF) -show_streams -show_packets -show_format -show_frames $(FFPROBE_TEST_FILE)
+
+FATE_FFPROBE += fate-ffprobe_compact
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_compact: CMD = run $(FFPROBE_COMMAND) -of compact
+
+FATE_FFPROBE += fate-ffprobe_csv
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_csv: CMD = run $(FFPROBE_COMMAND) -of csv
+
+FATE_FFPROBE += fate-ffprobe_default
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_default: CMD = run $(FFPROBE_COMMAND) -of default
+
+FATE_FFPROBE += fate-ffprobe_flat
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_flat: CMD = run $(FFPROBE_COMMAND) -of flat
+
+FATE_FFPROBE += fate-ffprobe_ini
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_ini: CMD = run $(FFPROBE_COMMAND) -of ini
+
+FATE_FFPROBE += fate-ffprobe_json
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_json: CMD = run $(FFPROBE_COMMAND) -of json
+
+FATE_FFPROBE += fate-ffprobe_xml
+fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
+fate-ffprobe_xml: CMD = run $(FFPROBE_COMMAND) -of xml
+
+fate-ffprobe: $(FATE_FFPROBE)
+
diff --git a/tests/ref/fate/ffprobe_compact b/tests/ref/fate/ffprobe_compact
new file mode 100644
index 0000000..10b8a3f
--- /dev/null
+++ b/tests/ref/fate/ffprobe_compact
@@ -0,0 +1,44 @@
+packet|codec_type=audio|stream_index=0|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=397|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=397|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=2472|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=2472|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=232893|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=232893|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=1024|pts_time=0.023220|dts=1024|dts_time=0.023220|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=262898|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=1024|pkt_pts_time=0.023220|pkt_dts=1024|pkt_dts_time=0.023220|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=262898|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=1|pts_time=0.040000|dts=1|dts_time=0.040000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=264974|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=1|pkt_pts_time=0.040000|pkt_dts=1|pkt_dts_time=0.040000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=264974|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=1|pts_time=0.040000|dts=1|dts_time=0.040000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=495396|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=1|pkt_pts_time=0.040000|pkt_dts=1|pkt_dts_time=0.040000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=495396|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=2048|pts_time=0.046440|dts=2048|dts_time=0.046440|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=525401|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=2048|pkt_pts_time=0.046440|pkt_dts=2048|pkt_dts_time=0.046440|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=525401|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=3072|pts_time=0.069660|dts=3072|dts_time=0.069660|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=527472|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=3072|pkt_pts_time=0.069660|pkt_dts=3072|pkt_dts_time=0.069660|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=527472|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=2|pts_time=0.080000|dts=2|dts_time=0.080000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=529548|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=2|pkt_pts_time=0.080000|pkt_dts=2|pkt_dts_time=0.080000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=529548|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=2|pts_time=0.080000|dts=2|dts_time=0.080000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=759970|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=2|pkt_pts_time=0.080000|pkt_dts=2|pkt_dts_time=0.080000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=759970|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=4096|pts_time=0.092880|dts=4096|dts_time=0.092880|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=789975|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=4096|pkt_pts_time=0.092880|pkt_dts=4096|pkt_dts_time=0.092880|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=789975|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=5120|pts_time=0.116100|dts=5120|dts_time=0.116100|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=792046|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=5120|pkt_pts_time=0.116100|pkt_dts=5120|pkt_dts_time=0.116100|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=792046|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=3|pts_time=0.120000|dts=3|dts_time=0.120000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=794122|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=3|pkt_pts_time=0.120000|pkt_dts=3|pkt_dts_time=0.120000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=794122|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=3|pts_time=0.120000|dts=3|dts_time=0.120000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1024544|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=3|pkt_pts_time=0.120000|pkt_dts=3|pkt_dts_time=0.120000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1024544|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=6144|pts_time=0.139320|dts=6144|dts_time=0.139320|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1054549|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=6144|pkt_pts_time=0.139320|pkt_dts=6144|pkt_dts_time=0.139320|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1054549|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=4|pts_time=0.160000|dts=4|dts_time=0.160000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=1056625|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=4|pkt_pts_time=0.160000|pkt_dts=4|pkt_dts_time=0.160000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1056625|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=4|pts_time=0.160000|dts=4|dts_time=0.160000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1287047|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=4|pkt_pts_time=0.160000|pkt_dts=4|pkt_dts_time=0.160000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1287047|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=7168|pts_time=0.162540|dts=7168|dts_time=0.162540|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1317052|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=7168|pkt_pts_time=0.162540|pkt_dts=7168|pkt_dts_time=0.162540|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1317052|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=8192|pts_time=0.185760|dts=8192|dts_time=0.185760|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1319124|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=8192|pkt_pts_time=0.185760|pkt_dts=8192|pkt_dts_time=0.185760|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1319124|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=2|pts=5|pts_time=0.200000|dts=5|dts_time=0.200000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1321176|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=5|pkt_pts_time=0.200000|pkt_dts=5|pkt_dts_time=0.200000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1321176|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+stream|index=0|codec_name=pcm_s16le|codec_long_name=PCM signed 16-bit little-endian|profile=unknown|codec_type=audio|codec_time_base=1/44100|codec_tag_string=[1][0][0][0]|codec_tag=0x0001|sample_fmt=s16|sample_rate=44100|channels=1|bits_per_sample=16|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/44100|start_pts=0|start_time=0.000000|duration_ts=675635|duration=15.320522|bit_rate=705600|nb_frames=N/A|nb_read_frames=9|nb_read_packets=9
+stream|index=1|codec_name=rawvideo|codec_long_name=raw video|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=320|height=240|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=4:3|pix_fmt=rgb24|level=-99|timecode=N/A|id=N/A|r_frame_rate=25/1|avg_frame_rate=0/0|time_base=1/25|start_pts=0|start_time=0.000000|duration_ts=383|duration=15.320000|bit_rate=N/A|nb_frames=N/A|nb_read_frames=5|nb_read_packets=5
+stream|index=2|codec_name=rawvideo|codec_long_name=raw video|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=100|height=100|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=1:1|pix_fmt=rgb24|level=-99|timecode=N/A|id=N/A|r_frame_rate=25/1|avg_frame_rate=0/0|time_base=1/25|start_pts=0|start_time=0.000000|duration_ts=383|duration=15.320000|bit_rate=N/A|nb_frames=N/A|nb_read_frames=6|nb_read_packets=6
+format|filename=tests/data/ffprobe-test.nut|nb_streams=3|format_name=nut|format_long_name=NUT|start_time=0.000000|duration=15.320522|size=1351269|bit_rate=705599|tag:title=ffprobe test file|tag:comment='A comment wih XML & JSON special chars': <tag value="x">|tag:comment2=I ♥ Üñîçød€
diff --git a/tests/ref/fate/ffprobe_csv b/tests/ref/fate/ffprobe_csv
new file mode 100644
index 0000000..10b8a3f
--- /dev/null
+++ b/tests/ref/fate/ffprobe_csv
@@ -0,0 +1,44 @@
+packet|codec_type=audio|stream_index=0|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=397|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=397|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=2472|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=2472|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=0|pts_time=0.000000|dts=0|dts_time=0.000000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=232893|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=232893|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=1024|pts_time=0.023220|dts=1024|dts_time=0.023220|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=262898|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=1024|pkt_pts_time=0.023220|pkt_dts=1024|pkt_dts_time=0.023220|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=262898|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=1|pts_time=0.040000|dts=1|dts_time=0.040000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=264974|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=1|pkt_pts_time=0.040000|pkt_dts=1|pkt_dts_time=0.040000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=264974|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=1|pts_time=0.040000|dts=1|dts_time=0.040000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=495396|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=1|pkt_pts_time=0.040000|pkt_dts=1|pkt_dts_time=0.040000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=495396|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=2048|pts_time=0.046440|dts=2048|dts_time=0.046440|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=525401|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=2048|pkt_pts_time=0.046440|pkt_dts=2048|pkt_dts_time=0.046440|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=525401|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=3072|pts_time=0.069660|dts=3072|dts_time=0.069660|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=527472|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=3072|pkt_pts_time=0.069660|pkt_dts=3072|pkt_dts_time=0.069660|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=527472|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=2|pts_time=0.080000|dts=2|dts_time=0.080000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=529548|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=2|pkt_pts_time=0.080000|pkt_dts=2|pkt_dts_time=0.080000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=529548|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=2|pts_time=0.080000|dts=2|dts_time=0.080000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=759970|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=2|pkt_pts_time=0.080000|pkt_dts=2|pkt_dts_time=0.080000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=759970|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=4096|pts_time=0.092880|dts=4096|dts_time=0.092880|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=789975|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=4096|pkt_pts_time=0.092880|pkt_dts=4096|pkt_dts_time=0.092880|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=789975|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=5120|pts_time=0.116100|dts=5120|dts_time=0.116100|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=792046|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=5120|pkt_pts_time=0.116100|pkt_dts=5120|pkt_dts_time=0.116100|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=792046|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=3|pts_time=0.120000|dts=3|dts_time=0.120000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=794122|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=3|pkt_pts_time=0.120000|pkt_dts=3|pkt_dts_time=0.120000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=794122|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=3|pts_time=0.120000|dts=3|dts_time=0.120000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1024544|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=3|pkt_pts_time=0.120000|pkt_dts=3|pkt_dts_time=0.120000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1024544|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=6144|pts_time=0.139320|dts=6144|dts_time=0.139320|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1054549|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=6144|pkt_pts_time=0.139320|pkt_dts=6144|pkt_dts_time=0.139320|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1054549|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=1|pts=4|pts_time=0.160000|dts=4|dts_time=0.160000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=230400|pos=1056625|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=4|pkt_pts_time=0.160000|pkt_dts=4|pkt_dts_time=0.160000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1056625|width=320|height=240|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=video|stream_index=2|pts=4|pts_time=0.160000|dts=4|dts_time=0.160000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1287047|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=4|pkt_pts_time=0.160000|pkt_dts=4|pkt_dts_time=0.160000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1287047|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+packet|codec_type=audio|stream_index=0|pts=7168|pts_time=0.162540|dts=7168|dts_time=0.162540|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1317052|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=7168|pkt_pts_time=0.162540|pkt_dts=7168|pkt_dts_time=0.162540|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1317052|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=audio|stream_index=0|pts=8192|pts_time=0.185760|dts=8192|dts_time=0.185760|duration=1024|duration_time=0.023220|convergence_duration=N/A|convergence_duration_time=N/A|size=2048|pos=1319124|flags=K
+frame|media_type=audio|key_frame=1|pkt_pts=8192|pkt_pts_time=0.185760|pkt_dts=8192|pkt_dts_time=0.185760|pkt_duration=1024|pkt_duration_time=0.023220|pkt_pos=1319124|sample_fmt=s16|nb_samples=1024|channels=1|channel_layout=unknown
+packet|codec_type=video|stream_index=2|pts=5|pts_time=0.200000|dts=5|dts_time=0.200000|duration=1|duration_time=0.040000|convergence_duration=N/A|convergence_duration_time=N/A|size=30000|pos=1321176|flags=K
+frame|media_type=video|key_frame=1|pkt_pts=5|pkt_pts_time=0.200000|pkt_dts=5|pkt_dts_time=0.200000|pkt_duration=1|pkt_duration_time=0.040000|pkt_pos=1321176|width=100|height=100|pix_fmt=rgb24|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=0
+stream|index=0|codec_name=pcm_s16le|codec_long_name=PCM signed 16-bit little-endian|profile=unknown|codec_type=audio|codec_time_base=1/44100|codec_tag_string=[1][0][0][0]|codec_tag=0x0001|sample_fmt=s16|sample_rate=44100|channels=1|bits_per_sample=16|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/44100|start_pts=0|start_time=0.000000|duration_ts=675635|duration=15.320522|bit_rate=705600|nb_frames=N/A|nb_read_frames=9|nb_read_packets=9
+stream|index=1|codec_name=rawvideo|codec_long_name=raw video|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=320|height=240|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=4:3|pix_fmt=rgb24|level=-99|timecode=N/A|id=N/A|r_frame_rate=25/1|avg_frame_rate=0/0|time_base=1/25|start_pts=0|start_time=0.000000|duration_ts=383|duration=15.320000|bit_rate=N/A|nb_frames=N/A|nb_read_frames=5|nb_read_packets=5
+stream|index=2|codec_name=rawvideo|codec_long_name=raw video|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=100|height=100|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=1:1|pix_fmt=rgb24|level=-99|timecode=N/A|id=N/A|r_frame_rate=25/1|avg_frame_rate=0/0|time_base=1/25|start_pts=0|start_time=0.000000|duration_ts=383|duration=15.320000|bit_rate=N/A|nb_frames=N/A|nb_read_frames=6|nb_read_packets=6
+format|filename=tests/data/ffprobe-test.nut|nb_streams=3|format_name=nut|format_long_name=NUT|start_time=0.000000|duration=15.320522|size=1351269|bit_rate=705599|tag:title=ffprobe test file|tag:comment='A comment wih XML & JSON special chars': <tag value="x">|tag:comment2=I ♥ Üñîçød€
diff --git a/tests/ref/fate/ffprobe_default b/tests/ref/fate/ffprobe_default
new file mode 100644
index 0000000..a482fd6
--- /dev/null
+++ b/tests/ref/fate/ffprobe_default
@@ -0,0 +1,776 @@
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=397
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=397
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=1
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=2472
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=2472
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=232893
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=232893
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=1024
+pts_time=0.023220
+dts=1024
+dts_time=0.023220
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=262898
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=1024
+pkt_pts_time=0.023220
+pkt_dts=1024
+pkt_dts_time=0.023220
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=262898
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=1
+pts=1
+pts_time=0.040000
+dts=1
+dts_time=0.040000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=264974
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=1
+pkt_pts_time=0.040000
+pkt_dts=1
+pkt_dts_time=0.040000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=264974
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=1
+pts_time=0.040000
+dts=1
+dts_time=0.040000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=495396
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=1
+pkt_pts_time=0.040000
+pkt_dts=1
+pkt_dts_time=0.040000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=495396
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=2048
+pts_time=0.046440
+dts=2048
+dts_time=0.046440
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=525401
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=2048
+pkt_pts_time=0.046440
+pkt_dts=2048
+pkt_dts_time=0.046440
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=525401
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=3072
+pts_time=0.069660
+dts=3072
+dts_time=0.069660
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=527472
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=3072
+pkt_pts_time=0.069660
+pkt_dts=3072
+pkt_dts_time=0.069660
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=527472
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=1
+pts=2
+pts_time=0.080000
+dts=2
+dts_time=0.080000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=529548
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=2
+pkt_pts_time=0.080000
+pkt_dts=2
+pkt_dts_time=0.080000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=529548
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=2
+pts_time=0.080000
+dts=2
+dts_time=0.080000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=759970
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=2
+pkt_pts_time=0.080000
+pkt_dts=2
+pkt_dts_time=0.080000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=759970
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=4096
+pts_time=0.092880
+dts=4096
+dts_time=0.092880
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=789975
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=4096
+pkt_pts_time=0.092880
+pkt_dts=4096
+pkt_dts_time=0.092880
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=789975
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=5120
+pts_time=0.116100
+dts=5120
+dts_time=0.116100
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=792046
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=5120
+pkt_pts_time=0.116100
+pkt_dts=5120
+pkt_dts_time=0.116100
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=792046
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=1
+pts=3
+pts_time=0.120000
+dts=3
+dts_time=0.120000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=794122
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=3
+pkt_pts_time=0.120000
+pkt_dts=3
+pkt_dts_time=0.120000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=794122
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=3
+pts_time=0.120000
+dts=3
+dts_time=0.120000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1024544
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=3
+pkt_pts_time=0.120000
+pkt_dts=3
+pkt_dts_time=0.120000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1024544
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=6144
+pts_time=0.139320
+dts=6144
+dts_time=0.139320
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1054549
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=6144
+pkt_pts_time=0.139320
+pkt_dts=6144
+pkt_dts_time=0.139320
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1054549
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=1
+pts=4
+pts_time=0.160000
+dts=4
+dts_time=0.160000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=1056625
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=4
+pkt_pts_time=0.160000
+pkt_dts=4
+pkt_dts_time=0.160000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1056625
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=4
+pts_time=0.160000
+dts=4
+dts_time=0.160000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1287047
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=4
+pkt_pts_time=0.160000
+pkt_dts=4
+pkt_dts_time=0.160000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1287047
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=7168
+pts_time=0.162540
+dts=7168
+dts_time=0.162540
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1317052
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=7168
+pkt_pts_time=0.162540
+pkt_dts=7168
+pkt_dts_time=0.162540
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1317052
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=audio
+stream_index=0
+pts=8192
+pts_time=0.185760
+dts=8192
+dts_time=0.185760
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1319124
+flags=K
+[/PACKET]
+[FRAME]
+media_type=audio
+key_frame=1
+pkt_pts=8192
+pkt_pts_time=0.185760
+pkt_dts=8192
+pkt_dts_time=0.185760
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1319124
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+[/FRAME]
+[PACKET]
+codec_type=video
+stream_index=2
+pts=5
+pts_time=0.200000
+dts=5
+dts_time=0.200000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1321176
+flags=K
+[/PACKET]
+[FRAME]
+media_type=video
+key_frame=1
+pkt_pts=5
+pkt_pts_time=0.200000
+pkt_dts=5
+pkt_dts_time=0.200000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1321176
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+[/FRAME]
+[STREAM]
+index=0
+codec_name=pcm_s16le
+codec_long_name=PCM signed 16-bit little-endian
+profile=unknown
+codec_type=audio
+codec_time_base=1/44100
+codec_tag_string=[1][0][0][0]
+codec_tag=0x0001
+sample_fmt=s16
+sample_rate=44100
+channels=1
+bits_per_sample=16
+id=N/A
+r_frame_rate=0/0
+avg_frame_rate=0/0
+time_base=1/44100
+start_pts=0
+start_time=0.000000
+duration_ts=675635
+duration=15.320522
+bit_rate=705600
+nb_frames=N/A
+nb_read_frames=9
+nb_read_packets=9
+[/STREAM]
+[STREAM]
+index=1
+codec_name=rawvideo
+codec_long_name=raw video
+profile=unknown
+codec_type=video
+codec_time_base=1/25
+codec_tag_string=RGB[24]
+codec_tag=0x18424752
+width=320
+height=240
+has_b_frames=0
+sample_aspect_ratio=1:1
+display_aspect_ratio=4:3
+pix_fmt=rgb24
+level=-99
+timecode=N/A
+id=N/A
+r_frame_rate=25/1
+avg_frame_rate=0/0
+time_base=1/25
+start_pts=0
+start_time=0.000000
+duration_ts=383
+duration=15.320000
+bit_rate=N/A
+nb_frames=N/A
+nb_read_frames=5
+nb_read_packets=5
+[/STREAM]
+[STREAM]
+index=2
+codec_name=rawvideo
+codec_long_name=raw video
+profile=unknown
+codec_type=video
+codec_time_base=1/25
+codec_tag_string=RGB[24]
+codec_tag=0x18424752
+width=100
+height=100
+has_b_frames=0
+sample_aspect_ratio=1:1
+display_aspect_ratio=1:1
+pix_fmt=rgb24
+level=-99
+timecode=N/A
+id=N/A
+r_frame_rate=25/1
+avg_frame_rate=0/0
+time_base=1/25
+start_pts=0
+start_time=0.000000
+duration_ts=383
+duration=15.320000
+bit_rate=N/A
+nb_frames=N/A
+nb_read_frames=6
+nb_read_packets=6
+[/STREAM]
+[FORMAT]
+filename=tests/data/ffprobe-test.nut
+nb_streams=3
+format_name=nut
+format_long_name=NUT
+start_time=0.000000
+duration=15.320522
+size=1351269
+bit_rate=705599
+TAG:title=ffprobe test file
+TAG:comment='A comment wih XML & JSON special chars': <tag value="x">
+TAG:comment2=I ♥ Üñîçød€
+[/FORMAT]
diff --git a/tests/ref/fate/ffprobe_flat b/tests/ref/fate/ffprobe_flat
new file mode 100644
index 0000000..dfa0d39
--- /dev/null
+++ b/tests/ref/fate/ffprobe_flat
@@ -0,0 +1,688 @@
+packets_and_frames.packet.0.codec_type="audio"
+packets_and_frames.packet.0.stream_index=0
+packets_and_frames.packet.0.pts=0
+packets_and_frames.packet.0.pts_time="0.000000"
+packets_and_frames.packet.0.dts=0
+packets_and_frames.packet.0.dts_time="0.000000"
+packets_and_frames.packet.0.duration=1024
+packets_and_frames.packet.0.duration_time="0.023220"
+packets_and_frames.packet.0.convergence_duration="N/A"
+packets_and_frames.packet.0.convergence_duration_time="N/A"
+packets_and_frames.packet.0.size="2048"
+packets_and_frames.packet.0.pos="397"
+packets_and_frames.packet.0.flags="K"
+packets_and_frames.frame.0.media_type="audio"
+packets_and_frames.frame.0.key_frame=1
+packets_and_frames.frame.0.pkt_pts=0
+packets_and_frames.frame.0.pkt_pts_time="0.000000"
+packets_and_frames.frame.0.pkt_dts=0
+packets_and_frames.frame.0.pkt_dts_time="0.000000"
+packets_and_frames.frame.0.pkt_duration=1024
+packets_and_frames.frame.0.pkt_duration_time="0.023220"
+packets_and_frames.frame.0.pkt_pos="397"
+packets_and_frames.frame.0.sample_fmt="s16"
+packets_and_frames.frame.0.nb_samples=1024
+packets_and_frames.frame.0.channels=1
+packets_and_frames.frame.0.channel_layout="unknown"
+packets_and_frames.packet.1.codec_type="video"
+packets_and_frames.packet.1.stream_index=1
+packets_and_frames.packet.1.pts=0
+packets_and_frames.packet.1.pts_time="0.000000"
+packets_and_frames.packet.1.dts=0
+packets_and_frames.packet.1.dts_time="0.000000"
+packets_and_frames.packet.1.duration=1
+packets_and_frames.packet.1.duration_time="0.040000"
+packets_and_frames.packet.1.convergence_duration="N/A"
+packets_and_frames.packet.1.convergence_duration_time="N/A"
+packets_and_frames.packet.1.size="230400"
+packets_and_frames.packet.1.pos="2472"
+packets_and_frames.packet.1.flags="K"
+packets_and_frames.frame.1.media_type="video"
+packets_and_frames.frame.1.key_frame=1
+packets_and_frames.frame.1.pkt_pts=0
+packets_and_frames.frame.1.pkt_pts_time="0.000000"
+packets_and_frames.frame.1.pkt_dts=0
+packets_and_frames.frame.1.pkt_dts_time="0.000000"
+packets_and_frames.frame.1.pkt_duration=1
+packets_and_frames.frame.1.pkt_duration_time="0.040000"
+packets_and_frames.frame.1.pkt_pos="2472"
+packets_and_frames.frame.1.width=320
+packets_and_frames.frame.1.height=240
+packets_and_frames.frame.1.pix_fmt="rgb24"
+packets_and_frames.frame.1.sample_aspect_ratio="1:1"
+packets_and_frames.frame.1.pict_type="I"
+packets_and_frames.frame.1.coded_picture_number=0
+packets_and_frames.frame.1.display_picture_number=0
+packets_and_frames.frame.1.interlaced_frame=0
+packets_and_frames.frame.1.top_field_first=0
+packets_and_frames.frame.1.repeat_pict=0
+packets_and_frames.frame.1.reference=0
+packets_and_frames.packet.2.codec_type="video"
+packets_and_frames.packet.2.stream_index=2
+packets_and_frames.packet.2.pts=0
+packets_and_frames.packet.2.pts_time="0.000000"
+packets_and_frames.packet.2.dts=0
+packets_and_frames.packet.2.dts_time="0.000000"
+packets_and_frames.packet.2.duration=1
+packets_and_frames.packet.2.duration_time="0.040000"
+packets_and_frames.packet.2.convergence_duration="N/A"
+packets_and_frames.packet.2.convergence_duration_time="N/A"
+packets_and_frames.packet.2.size="30000"
+packets_and_frames.packet.2.pos="232893"
+packets_and_frames.packet.2.flags="K"
+packets_and_frames.frame.2.media_type="video"
+packets_and_frames.frame.2.key_frame=1
+packets_and_frames.frame.2.pkt_pts=0
+packets_and_frames.frame.2.pkt_pts_time="0.000000"
+packets_and_frames.frame.2.pkt_dts=0
+packets_and_frames.frame.2.pkt_dts_time="0.000000"
+packets_and_frames.frame.2.pkt_duration=1
+packets_and_frames.frame.2.pkt_duration_time="0.040000"
+packets_and_frames.frame.2.pkt_pos="232893"
+packets_and_frames.frame.2.width=100
+packets_and_frames.frame.2.height=100
+packets_and_frames.frame.2.pix_fmt="rgb24"
+packets_and_frames.frame.2.sample_aspect_ratio="1:1"
+packets_and_frames.frame.2.pict_type="I"
+packets_and_frames.frame.2.coded_picture_number=0
+packets_and_frames.frame.2.display_picture_number=0
+packets_and_frames.frame.2.interlaced_frame=0
+packets_and_frames.frame.2.top_field_first=0
+packets_and_frames.frame.2.repeat_pict=0
+packets_and_frames.frame.2.reference=0
+packets_and_frames.packet.3.codec_type="audio"
+packets_and_frames.packet.3.stream_index=0
+packets_and_frames.packet.3.pts=1024
+packets_and_frames.packet.3.pts_time="0.023220"
+packets_and_frames.packet.3.dts=1024
+packets_and_frames.packet.3.dts_time="0.023220"
+packets_and_frames.packet.3.duration=1024
+packets_and_frames.packet.3.duration_time="0.023220"
+packets_and_frames.packet.3.convergence_duration="N/A"
+packets_and_frames.packet.3.convergence_duration_time="N/A"
+packets_and_frames.packet.3.size="2048"
+packets_and_frames.packet.3.pos="262898"
+packets_and_frames.packet.3.flags="K"
+packets_and_frames.frame.3.media_type="audio"
+packets_and_frames.frame.3.key_frame=1
+packets_and_frames.frame.3.pkt_pts=1024
+packets_and_frames.frame.3.pkt_pts_time="0.023220"
+packets_and_frames.frame.3.pkt_dts=1024
+packets_and_frames.frame.3.pkt_dts_time="0.023220"
+packets_and_frames.frame.3.pkt_duration=1024
+packets_and_frames.frame.3.pkt_duration_time="0.023220"
+packets_and_frames.frame.3.pkt_pos="262898"
+packets_and_frames.frame.3.sample_fmt="s16"
+packets_and_frames.frame.3.nb_samples=1024
+packets_and_frames.frame.3.channels=1
+packets_and_frames.frame.3.channel_layout="unknown"
+packets_and_frames.packet.4.codec_type="video"
+packets_and_frames.packet.4.stream_index=1
+packets_and_frames.packet.4.pts=1
+packets_and_frames.packet.4.pts_time="0.040000"
+packets_and_frames.packet.4.dts=1
+packets_and_frames.packet.4.dts_time="0.040000"
+packets_and_frames.packet.4.duration=1
+packets_and_frames.packet.4.duration_time="0.040000"
+packets_and_frames.packet.4.convergence_duration="N/A"
+packets_and_frames.packet.4.convergence_duration_time="N/A"
+packets_and_frames.packet.4.size="230400"
+packets_and_frames.packet.4.pos="264974"
+packets_and_frames.packet.4.flags="K"
+packets_and_frames.frame.4.media_type="video"
+packets_and_frames.frame.4.key_frame=1
+packets_and_frames.frame.4.pkt_pts=1
+packets_and_frames.frame.4.pkt_pts_time="0.040000"
+packets_and_frames.frame.4.pkt_dts=1
+packets_and_frames.frame.4.pkt_dts_time="0.040000"
+packets_and_frames.frame.4.pkt_duration=1
+packets_and_frames.frame.4.pkt_duration_time="0.040000"
+packets_and_frames.frame.4.pkt_pos="264974"
+packets_and_frames.frame.4.width=320
+packets_and_frames.frame.4.height=240
+packets_and_frames.frame.4.pix_fmt="rgb24"
+packets_and_frames.frame.4.sample_aspect_ratio="1:1"
+packets_and_frames.frame.4.pict_type="I"
+packets_and_frames.frame.4.coded_picture_number=0
+packets_and_frames.frame.4.display_picture_number=0
+packets_and_frames.frame.4.interlaced_frame=0
+packets_and_frames.frame.4.top_field_first=0
+packets_and_frames.frame.4.repeat_pict=0
+packets_and_frames.frame.4.reference=0
+packets_and_frames.packet.5.codec_type="video"
+packets_and_frames.packet.5.stream_index=2
+packets_and_frames.packet.5.pts=1
+packets_and_frames.packet.5.pts_time="0.040000"
+packets_and_frames.packet.5.dts=1
+packets_and_frames.packet.5.dts_time="0.040000"
+packets_and_frames.packet.5.duration=1
+packets_and_frames.packet.5.duration_time="0.040000"
+packets_and_frames.packet.5.convergence_duration="N/A"
+packets_and_frames.packet.5.convergence_duration_time="N/A"
+packets_and_frames.packet.5.size="30000"
+packets_and_frames.packet.5.pos="495396"
+packets_and_frames.packet.5.flags="K"
+packets_and_frames.frame.5.media_type="video"
+packets_and_frames.frame.5.key_frame=1
+packets_and_frames.frame.5.pkt_pts=1
+packets_and_frames.frame.5.pkt_pts_time="0.040000"
+packets_and_frames.frame.5.pkt_dts=1
+packets_and_frames.frame.5.pkt_dts_time="0.040000"
+packets_and_frames.frame.5.pkt_duration=1
+packets_and_frames.frame.5.pkt_duration_time="0.040000"
+packets_and_frames.frame.5.pkt_pos="495396"
+packets_and_frames.frame.5.width=100
+packets_and_frames.frame.5.height=100
+packets_and_frames.frame.5.pix_fmt="rgb24"
+packets_and_frames.frame.5.sample_aspect_ratio="1:1"
+packets_and_frames.frame.5.pict_type="I"
+packets_and_frames.frame.5.coded_picture_number=0
+packets_and_frames.frame.5.display_picture_number=0
+packets_and_frames.frame.5.interlaced_frame=0
+packets_and_frames.frame.5.top_field_first=0
+packets_and_frames.frame.5.repeat_pict=0
+packets_and_frames.frame.5.reference=0
+packets_and_frames.packet.6.codec_type="audio"
+packets_and_frames.packet.6.stream_index=0
+packets_and_frames.packet.6.pts=2048
+packets_and_frames.packet.6.pts_time="0.046440"
+packets_and_frames.packet.6.dts=2048
+packets_and_frames.packet.6.dts_time="0.046440"
+packets_and_frames.packet.6.duration=1024
+packets_and_frames.packet.6.duration_time="0.023220"
+packets_and_frames.packet.6.convergence_duration="N/A"
+packets_and_frames.packet.6.convergence_duration_time="N/A"
+packets_and_frames.packet.6.size="2048"
+packets_and_frames.packet.6.pos="525401"
+packets_and_frames.packet.6.flags="K"
+packets_and_frames.frame.6.media_type="audio"
+packets_and_frames.frame.6.key_frame=1
+packets_and_frames.frame.6.pkt_pts=2048
+packets_and_frames.frame.6.pkt_pts_time="0.046440"
+packets_and_frames.frame.6.pkt_dts=2048
+packets_and_frames.frame.6.pkt_dts_time="0.046440"
+packets_and_frames.frame.6.pkt_duration=1024
+packets_and_frames.frame.6.pkt_duration_time="0.023220"
+packets_and_frames.frame.6.pkt_pos="525401"
+packets_and_frames.frame.6.sample_fmt="s16"
+packets_and_frames.frame.6.nb_samples=1024
+packets_and_frames.frame.6.channels=1
+packets_and_frames.frame.6.channel_layout="unknown"
+packets_and_frames.packet.7.codec_type="audio"
+packets_and_frames.packet.7.stream_index=0
+packets_and_frames.packet.7.pts=3072
+packets_and_frames.packet.7.pts_time="0.069660"
+packets_and_frames.packet.7.dts=3072
+packets_and_frames.packet.7.dts_time="0.069660"
+packets_and_frames.packet.7.duration=1024
+packets_and_frames.packet.7.duration_time="0.023220"
+packets_and_frames.packet.7.convergence_duration="N/A"
+packets_and_frames.packet.7.convergence_duration_time="N/A"
+packets_and_frames.packet.7.size="2048"
+packets_and_frames.packet.7.pos="527472"
+packets_and_frames.packet.7.flags="K"
+packets_and_frames.frame.7.media_type="audio"
+packets_and_frames.frame.7.key_frame=1
+packets_and_frames.frame.7.pkt_pts=3072
+packets_and_frames.frame.7.pkt_pts_time="0.069660"
+packets_and_frames.frame.7.pkt_dts=3072
+packets_and_frames.frame.7.pkt_dts_time="0.069660"
+packets_and_frames.frame.7.pkt_duration=1024
+packets_and_frames.frame.7.pkt_duration_time="0.023220"
+packets_and_frames.frame.7.pkt_pos="527472"
+packets_and_frames.frame.7.sample_fmt="s16"
+packets_and_frames.frame.7.nb_samples=1024
+packets_and_frames.frame.7.channels=1
+packets_and_frames.frame.7.channel_layout="unknown"
+packets_and_frames.packet.8.codec_type="video"
+packets_and_frames.packet.8.stream_index=1
+packets_and_frames.packet.8.pts=2
+packets_and_frames.packet.8.pts_time="0.080000"
+packets_and_frames.packet.8.dts=2
+packets_and_frames.packet.8.dts_time="0.080000"
+packets_and_frames.packet.8.duration=1
+packets_and_frames.packet.8.duration_time="0.040000"
+packets_and_frames.packet.8.convergence_duration="N/A"
+packets_and_frames.packet.8.convergence_duration_time="N/A"
+packets_and_frames.packet.8.size="230400"
+packets_and_frames.packet.8.pos="529548"
+packets_and_frames.packet.8.flags="K"
+packets_and_frames.frame.8.media_type="video"
+packets_and_frames.frame.8.key_frame=1
+packets_and_frames.frame.8.pkt_pts=2
+packets_and_frames.frame.8.pkt_pts_time="0.080000"
+packets_and_frames.frame.8.pkt_dts=2
+packets_and_frames.frame.8.pkt_dts_time="0.080000"
+packets_and_frames.frame.8.pkt_duration=1
+packets_and_frames.frame.8.pkt_duration_time="0.040000"
+packets_and_frames.frame.8.pkt_pos="529548"
+packets_and_frames.frame.8.width=320
+packets_and_frames.frame.8.height=240
+packets_and_frames.frame.8.pix_fmt="rgb24"
+packets_and_frames.frame.8.sample_aspect_ratio="1:1"
+packets_and_frames.frame.8.pict_type="I"
+packets_and_frames.frame.8.coded_picture_number=0
+packets_and_frames.frame.8.display_picture_number=0
+packets_and_frames.frame.8.interlaced_frame=0
+packets_and_frames.frame.8.top_field_first=0
+packets_and_frames.frame.8.repeat_pict=0
+packets_and_frames.frame.8.reference=0
+packets_and_frames.packet.9.codec_type="video"
+packets_and_frames.packet.9.stream_index=2
+packets_and_frames.packet.9.pts=2
+packets_and_frames.packet.9.pts_time="0.080000"
+packets_and_frames.packet.9.dts=2
+packets_and_frames.packet.9.dts_time="0.080000"
+packets_and_frames.packet.9.duration=1
+packets_and_frames.packet.9.duration_time="0.040000"
+packets_and_frames.packet.9.convergence_duration="N/A"
+packets_and_frames.packet.9.convergence_duration_time="N/A"
+packets_and_frames.packet.9.size="30000"
+packets_and_frames.packet.9.pos="759970"
+packets_and_frames.packet.9.flags="K"
+packets_and_frames.frame.9.media_type="video"
+packets_and_frames.frame.9.key_frame=1
+packets_and_frames.frame.9.pkt_pts=2
+packets_and_frames.frame.9.pkt_pts_time="0.080000"
+packets_and_frames.frame.9.pkt_dts=2
+packets_and_frames.frame.9.pkt_dts_time="0.080000"
+packets_and_frames.frame.9.pkt_duration=1
+packets_and_frames.frame.9.pkt_duration_time="0.040000"
+packets_and_frames.frame.9.pkt_pos="759970"
+packets_and_frames.frame.9.width=100
+packets_and_frames.frame.9.height=100
+packets_and_frames.frame.9.pix_fmt="rgb24"
+packets_and_frames.frame.9.sample_aspect_ratio="1:1"
+packets_and_frames.frame.9.pict_type="I"
+packets_and_frames.frame.9.coded_picture_number=0
+packets_and_frames.frame.9.display_picture_number=0
+packets_and_frames.frame.9.interlaced_frame=0
+packets_and_frames.frame.9.top_field_first=0
+packets_and_frames.frame.9.repeat_pict=0
+packets_and_frames.frame.9.reference=0
+packets_and_frames.packet.10.codec_type="audio"
+packets_and_frames.packet.10.stream_index=0
+packets_and_frames.packet.10.pts=4096
+packets_and_frames.packet.10.pts_time="0.092880"
+packets_and_frames.packet.10.dts=4096
+packets_and_frames.packet.10.dts_time="0.092880"
+packets_and_frames.packet.10.duration=1024
+packets_and_frames.packet.10.duration_time="0.023220"
+packets_and_frames.packet.10.convergence_duration="N/A"
+packets_and_frames.packet.10.convergence_duration_time="N/A"
+packets_and_frames.packet.10.size="2048"
+packets_and_frames.packet.10.pos="789975"
+packets_and_frames.packet.10.flags="K"
+packets_and_frames.frame.10.media_type="audio"
+packets_and_frames.frame.10.key_frame=1
+packets_and_frames.frame.10.pkt_pts=4096
+packets_and_frames.frame.10.pkt_pts_time="0.092880"
+packets_and_frames.frame.10.pkt_dts=4096
+packets_and_frames.frame.10.pkt_dts_time="0.092880"
+packets_and_frames.frame.10.pkt_duration=1024
+packets_and_frames.frame.10.pkt_duration_time="0.023220"
+packets_and_frames.frame.10.pkt_pos="789975"
+packets_and_frames.frame.10.sample_fmt="s16"
+packets_and_frames.frame.10.nb_samples=1024
+packets_and_frames.frame.10.channels=1
+packets_and_frames.frame.10.channel_layout="unknown"
+packets_and_frames.packet.11.codec_type="audio"
+packets_and_frames.packet.11.stream_index=0
+packets_and_frames.packet.11.pts=5120
+packets_and_frames.packet.11.pts_time="0.116100"
+packets_and_frames.packet.11.dts=5120
+packets_and_frames.packet.11.dts_time="0.116100"
+packets_and_frames.packet.11.duration=1024
+packets_and_frames.packet.11.duration_time="0.023220"
+packets_and_frames.packet.11.convergence_duration="N/A"
+packets_and_frames.packet.11.convergence_duration_time="N/A"
+packets_and_frames.packet.11.size="2048"
+packets_and_frames.packet.11.pos="792046"
+packets_and_frames.packet.11.flags="K"
+packets_and_frames.frame.11.media_type="audio"
+packets_and_frames.frame.11.key_frame=1
+packets_and_frames.frame.11.pkt_pts=5120
+packets_and_frames.frame.11.pkt_pts_time="0.116100"
+packets_and_frames.frame.11.pkt_dts=5120
+packets_and_frames.frame.11.pkt_dts_time="0.116100"
+packets_and_frames.frame.11.pkt_duration=1024
+packets_and_frames.frame.11.pkt_duration_time="0.023220"
+packets_and_frames.frame.11.pkt_pos="792046"
+packets_and_frames.frame.11.sample_fmt="s16"
+packets_and_frames.frame.11.nb_samples=1024
+packets_and_frames.frame.11.channels=1
+packets_and_frames.frame.11.channel_layout="unknown"
+packets_and_frames.packet.12.codec_type="video"
+packets_and_frames.packet.12.stream_index=1
+packets_and_frames.packet.12.pts=3
+packets_and_frames.packet.12.pts_time="0.120000"
+packets_and_frames.packet.12.dts=3
+packets_and_frames.packet.12.dts_time="0.120000"
+packets_and_frames.packet.12.duration=1
+packets_and_frames.packet.12.duration_time="0.040000"
+packets_and_frames.packet.12.convergence_duration="N/A"
+packets_and_frames.packet.12.convergence_duration_time="N/A"
+packets_and_frames.packet.12.size="230400"
+packets_and_frames.packet.12.pos="794122"
+packets_and_frames.packet.12.flags="K"
+packets_and_frames.frame.12.media_type="video"
+packets_and_frames.frame.12.key_frame=1
+packets_and_frames.frame.12.pkt_pts=3
+packets_and_frames.frame.12.pkt_pts_time="0.120000"
+packets_and_frames.frame.12.pkt_dts=3
+packets_and_frames.frame.12.pkt_dts_time="0.120000"
+packets_and_frames.frame.12.pkt_duration=1
+packets_and_frames.frame.12.pkt_duration_time="0.040000"
+packets_and_frames.frame.12.pkt_pos="794122"
+packets_and_frames.frame.12.width=320
+packets_and_frames.frame.12.height=240
+packets_and_frames.frame.12.pix_fmt="rgb24"
+packets_and_frames.frame.12.sample_aspect_ratio="1:1"
+packets_and_frames.frame.12.pict_type="I"
+packets_and_frames.frame.12.coded_picture_number=0
+packets_and_frames.frame.12.display_picture_number=0
+packets_and_frames.frame.12.interlaced_frame=0
+packets_and_frames.frame.12.top_field_first=0
+packets_and_frames.frame.12.repeat_pict=0
+packets_and_frames.frame.12.reference=0
+packets_and_frames.packet.13.codec_type="video"
+packets_and_frames.packet.13.stream_index=2
+packets_and_frames.packet.13.pts=3
+packets_and_frames.packet.13.pts_time="0.120000"
+packets_and_frames.packet.13.dts=3
+packets_and_frames.packet.13.dts_time="0.120000"
+packets_and_frames.packet.13.duration=1
+packets_and_frames.packet.13.duration_time="0.040000"
+packets_and_frames.packet.13.convergence_duration="N/A"
+packets_and_frames.packet.13.convergence_duration_time="N/A"
+packets_and_frames.packet.13.size="30000"
+packets_and_frames.packet.13.pos="1024544"
+packets_and_frames.packet.13.flags="K"
+packets_and_frames.frame.13.media_type="video"
+packets_and_frames.frame.13.key_frame=1
+packets_and_frames.frame.13.pkt_pts=3
+packets_and_frames.frame.13.pkt_pts_time="0.120000"
+packets_and_frames.frame.13.pkt_dts=3
+packets_and_frames.frame.13.pkt_dts_time="0.120000"
+packets_and_frames.frame.13.pkt_duration=1
+packets_and_frames.frame.13.pkt_duration_time="0.040000"
+packets_and_frames.frame.13.pkt_pos="1024544"
+packets_and_frames.frame.13.width=100
+packets_and_frames.frame.13.height=100
+packets_and_frames.frame.13.pix_fmt="rgb24"
+packets_and_frames.frame.13.sample_aspect_ratio="1:1"
+packets_and_frames.frame.13.pict_type="I"
+packets_and_frames.frame.13.coded_picture_number=0
+packets_and_frames.frame.13.display_picture_number=0
+packets_and_frames.frame.13.interlaced_frame=0
+packets_and_frames.frame.13.top_field_first=0
+packets_and_frames.frame.13.repeat_pict=0
+packets_and_frames.frame.13.reference=0
+packets_and_frames.packet.14.codec_type="audio"
+packets_and_frames.packet.14.stream_index=0
+packets_and_frames.packet.14.pts=6144
+packets_and_frames.packet.14.pts_time="0.139320"
+packets_and_frames.packet.14.dts=6144
+packets_and_frames.packet.14.dts_time="0.139320"
+packets_and_frames.packet.14.duration=1024
+packets_and_frames.packet.14.duration_time="0.023220"
+packets_and_frames.packet.14.convergence_duration="N/A"
+packets_and_frames.packet.14.convergence_duration_time="N/A"
+packets_and_frames.packet.14.size="2048"
+packets_and_frames.packet.14.pos="1054549"
+packets_and_frames.packet.14.flags="K"
+packets_and_frames.frame.14.media_type="audio"
+packets_and_frames.frame.14.key_frame=1
+packets_and_frames.frame.14.pkt_pts=6144
+packets_and_frames.frame.14.pkt_pts_time="0.139320"
+packets_and_frames.frame.14.pkt_dts=6144
+packets_and_frames.frame.14.pkt_dts_time="0.139320"
+packets_and_frames.frame.14.pkt_duration=1024
+packets_and_frames.frame.14.pkt_duration_time="0.023220"
+packets_and_frames.frame.14.pkt_pos="1054549"
+packets_and_frames.frame.14.sample_fmt="s16"
+packets_and_frames.frame.14.nb_samples=1024
+packets_and_frames.frame.14.channels=1
+packets_and_frames.frame.14.channel_layout="unknown"
+packets_and_frames.packet.15.codec_type="video"
+packets_and_frames.packet.15.stream_index=1
+packets_and_frames.packet.15.pts=4
+packets_and_frames.packet.15.pts_time="0.160000"
+packets_and_frames.packet.15.dts=4
+packets_and_frames.packet.15.dts_time="0.160000"
+packets_and_frames.packet.15.duration=1
+packets_and_frames.packet.15.duration_time="0.040000"
+packets_and_frames.packet.15.convergence_duration="N/A"
+packets_and_frames.packet.15.convergence_duration_time="N/A"
+packets_and_frames.packet.15.size="230400"
+packets_and_frames.packet.15.pos="1056625"
+packets_and_frames.packet.15.flags="K"
+packets_and_frames.frame.15.media_type="video"
+packets_and_frames.frame.15.key_frame=1
+packets_and_frames.frame.15.pkt_pts=4
+packets_and_frames.frame.15.pkt_pts_time="0.160000"
+packets_and_frames.frame.15.pkt_dts=4
+packets_and_frames.frame.15.pkt_dts_time="0.160000"
+packets_and_frames.frame.15.pkt_duration=1
+packets_and_frames.frame.15.pkt_duration_time="0.040000"
+packets_and_frames.frame.15.pkt_pos="1056625"
+packets_and_frames.frame.15.width=320
+packets_and_frames.frame.15.height=240
+packets_and_frames.frame.15.pix_fmt="rgb24"
+packets_and_frames.frame.15.sample_aspect_ratio="1:1"
+packets_and_frames.frame.15.pict_type="I"
+packets_and_frames.frame.15.coded_picture_number=0
+packets_and_frames.frame.15.display_picture_number=0
+packets_and_frames.frame.15.interlaced_frame=0
+packets_and_frames.frame.15.top_field_first=0
+packets_and_frames.frame.15.repeat_pict=0
+packets_and_frames.frame.15.reference=0
+packets_and_frames.packet.16.codec_type="video"
+packets_and_frames.packet.16.stream_index=2
+packets_and_frames.packet.16.pts=4
+packets_and_frames.packet.16.pts_time="0.160000"
+packets_and_frames.packet.16.dts=4
+packets_and_frames.packet.16.dts_time="0.160000"
+packets_and_frames.packet.16.duration=1
+packets_and_frames.packet.16.duration_time="0.040000"
+packets_and_frames.packet.16.convergence_duration="N/A"
+packets_and_frames.packet.16.convergence_duration_time="N/A"
+packets_and_frames.packet.16.size="30000"
+packets_and_frames.packet.16.pos="1287047"
+packets_and_frames.packet.16.flags="K"
+packets_and_frames.frame.16.media_type="video"
+packets_and_frames.frame.16.key_frame=1
+packets_and_frames.frame.16.pkt_pts=4
+packets_and_frames.frame.16.pkt_pts_time="0.160000"
+packets_and_frames.frame.16.pkt_dts=4
+packets_and_frames.frame.16.pkt_dts_time="0.160000"
+packets_and_frames.frame.16.pkt_duration=1
+packets_and_frames.frame.16.pkt_duration_time="0.040000"
+packets_and_frames.frame.16.pkt_pos="1287047"
+packets_and_frames.frame.16.width=100
+packets_and_frames.frame.16.height=100
+packets_and_frames.frame.16.pix_fmt="rgb24"
+packets_and_frames.frame.16.sample_aspect_ratio="1:1"
+packets_and_frames.frame.16.pict_type="I"
+packets_and_frames.frame.16.coded_picture_number=0
+packets_and_frames.frame.16.display_picture_number=0
+packets_and_frames.frame.16.interlaced_frame=0
+packets_and_frames.frame.16.top_field_first=0
+packets_and_frames.frame.16.repeat_pict=0
+packets_and_frames.frame.16.reference=0
+packets_and_frames.packet.17.codec_type="audio"
+packets_and_frames.packet.17.stream_index=0
+packets_and_frames.packet.17.pts=7168
+packets_and_frames.packet.17.pts_time="0.162540"
+packets_and_frames.packet.17.dts=7168
+packets_and_frames.packet.17.dts_time="0.162540"
+packets_and_frames.packet.17.duration=1024
+packets_and_frames.packet.17.duration_time="0.023220"
+packets_and_frames.packet.17.convergence_duration="N/A"
+packets_and_frames.packet.17.convergence_duration_time="N/A"
+packets_and_frames.packet.17.size="2048"
+packets_and_frames.packet.17.pos="1317052"
+packets_and_frames.packet.17.flags="K"
+packets_and_frames.frame.17.media_type="audio"
+packets_and_frames.frame.17.key_frame=1
+packets_and_frames.frame.17.pkt_pts=7168
+packets_and_frames.frame.17.pkt_pts_time="0.162540"
+packets_and_frames.frame.17.pkt_dts=7168
+packets_and_frames.frame.17.pkt_dts_time="0.162540"
+packets_and_frames.frame.17.pkt_duration=1024
+packets_and_frames.frame.17.pkt_duration_time="0.023220"
+packets_and_frames.frame.17.pkt_pos="1317052"
+packets_and_frames.frame.17.sample_fmt="s16"
+packets_and_frames.frame.17.nb_samples=1024
+packets_and_frames.frame.17.channels=1
+packets_and_frames.frame.17.channel_layout="unknown"
+packets_and_frames.packet.18.codec_type="audio"
+packets_and_frames.packet.18.stream_index=0
+packets_and_frames.packet.18.pts=8192
+packets_and_frames.packet.18.pts_time="0.185760"
+packets_and_frames.packet.18.dts=8192
+packets_and_frames.packet.18.dts_time="0.185760"
+packets_and_frames.packet.18.duration=1024
+packets_and_frames.packet.18.duration_time="0.023220"
+packets_and_frames.packet.18.convergence_duration="N/A"
+packets_and_frames.packet.18.convergence_duration_time="N/A"
+packets_and_frames.packet.18.size="2048"
+packets_and_frames.packet.18.pos="1319124"
+packets_and_frames.packet.18.flags="K"
+packets_and_frames.frame.18.media_type="audio"
+packets_and_frames.frame.18.key_frame=1
+packets_and_frames.frame.18.pkt_pts=8192
+packets_and_frames.frame.18.pkt_pts_time="0.185760"
+packets_and_frames.frame.18.pkt_dts=8192
+packets_and_frames.frame.18.pkt_dts_time="0.185760"
+packets_and_frames.frame.18.pkt_duration=1024
+packets_and_frames.frame.18.pkt_duration_time="0.023220"
+packets_and_frames.frame.18.pkt_pos="1319124"
+packets_and_frames.frame.18.sample_fmt="s16"
+packets_and_frames.frame.18.nb_samples=1024
+packets_and_frames.frame.18.channels=1
+packets_and_frames.frame.18.channel_layout="unknown"
+packets_and_frames.packet.19.codec_type="video"
+packets_and_frames.packet.19.stream_index=2
+packets_and_frames.packet.19.pts=5
+packets_and_frames.packet.19.pts_time="0.200000"
+packets_and_frames.packet.19.dts=5
+packets_and_frames.packet.19.dts_time="0.200000"
+packets_and_frames.packet.19.duration=1
+packets_and_frames.packet.19.duration_time="0.040000"
+packets_and_frames.packet.19.convergence_duration="N/A"
+packets_and_frames.packet.19.convergence_duration_time="N/A"
+packets_and_frames.packet.19.size="30000"
+packets_and_frames.packet.19.pos="1321176"
+packets_and_frames.packet.19.flags="K"
+packets_and_frames.frame.19.media_type="video"
+packets_and_frames.frame.19.key_frame=1
+packets_and_frames.frame.19.pkt_pts=5
+packets_and_frames.frame.19.pkt_pts_time="0.200000"
+packets_and_frames.frame.19.pkt_dts=5
+packets_and_frames.frame.19.pkt_dts_time="0.200000"
+packets_and_frames.frame.19.pkt_duration=1
+packets_and_frames.frame.19.pkt_duration_time="0.040000"
+packets_and_frames.frame.19.pkt_pos="1321176"
+packets_and_frames.frame.19.width=100
+packets_and_frames.frame.19.height=100
+packets_and_frames.frame.19.pix_fmt="rgb24"
+packets_and_frames.frame.19.sample_aspect_ratio="1:1"
+packets_and_frames.frame.19.pict_type="I"
+packets_and_frames.frame.19.coded_picture_number=0
+packets_and_frames.frame.19.display_picture_number=0
+packets_and_frames.frame.19.interlaced_frame=0
+packets_and_frames.frame.19.top_field_first=0
+packets_and_frames.frame.19.repeat_pict=0
+packets_and_frames.frame.19.reference=0
+streams.stream.0.index=0
+streams.stream.0.codec_name="pcm_s16le"
+streams.stream.0.codec_long_name="PCM signed 16-bit little-endian"
+streams.stream.0.profile="unknown"
+streams.stream.0.codec_type="audio"
+streams.stream.0.codec_time_base="1/44100"
+streams.stream.0.codec_tag_string="[1][0][0][0]"
+streams.stream.0.codec_tag="0x0001"
+streams.stream.0.sample_fmt="s16"
+streams.stream.0.sample_rate="44100"
+streams.stream.0.channels=1
+streams.stream.0.bits_per_sample=16
+streams.stream.0.id="N/A"
+streams.stream.0.r_frame_rate="0/0"
+streams.stream.0.avg_frame_rate="0/0"
+streams.stream.0.time_base="1/44100"
+streams.stream.0.start_pts=0
+streams.stream.0.start_time="0.000000"
+streams.stream.0.duration_ts=675635
+streams.stream.0.duration="15.320522"
+streams.stream.0.bit_rate="705600"
+streams.stream.0.nb_frames="N/A"
+streams.stream.0.nb_read_frames="9"
+streams.stream.0.nb_read_packets="9"
+streams.stream.1.index=1
+streams.stream.1.codec_name="rawvideo"
+streams.stream.1.codec_long_name="raw video"
+streams.stream.1.profile="unknown"
+streams.stream.1.codec_type="video"
+streams.stream.1.codec_time_base="1/25"
+streams.stream.1.codec_tag_string="RGB[24]"
+streams.stream.1.codec_tag="0x18424752"
+streams.stream.1.width=320
+streams.stream.1.height=240
+streams.stream.1.has_b_frames=0
+streams.stream.1.sample_aspect_ratio="1:1"
+streams.stream.1.display_aspect_ratio="4:3"
+streams.stream.1.pix_fmt="rgb24"
+streams.stream.1.level=-99
+streams.stream.1.timecode="N/A"
+streams.stream.1.id="N/A"
+streams.stream.1.r_frame_rate="25/1"
+streams.stream.1.avg_frame_rate="0/0"
+streams.stream.1.time_base="1/25"
+streams.stream.1.start_pts=0
+streams.stream.1.start_time="0.000000"
+streams.stream.1.duration_ts=383
+streams.stream.1.duration="15.320000"
+streams.stream.1.bit_rate="N/A"
+streams.stream.1.nb_frames="N/A"
+streams.stream.1.nb_read_frames="5"
+streams.stream.1.nb_read_packets="5"
+streams.stream.2.index=2
+streams.stream.2.codec_name="rawvideo"
+streams.stream.2.codec_long_name="raw video"
+streams.stream.2.profile="unknown"
+streams.stream.2.codec_type="video"
+streams.stream.2.codec_time_base="1/25"
+streams.stream.2.codec_tag_string="RGB[24]"
+streams.stream.2.codec_tag="0x18424752"
+streams.stream.2.width=100
+streams.stream.2.height=100
+streams.stream.2.has_b_frames=0
+streams.stream.2.sample_aspect_ratio="1:1"
+streams.stream.2.display_aspect_ratio="1:1"
+streams.stream.2.pix_fmt="rgb24"
+streams.stream.2.level=-99
+streams.stream.2.timecode="N/A"
+streams.stream.2.id="N/A"
+streams.stream.2.r_frame_rate="25/1"
+streams.stream.2.avg_frame_rate="0/0"
+streams.stream.2.time_base="1/25"
+streams.stream.2.start_pts=0
+streams.stream.2.start_time="0.000000"
+streams.stream.2.duration_ts=383
+streams.stream.2.duration="15.320000"
+streams.stream.2.bit_rate="N/A"
+streams.stream.2.nb_frames="N/A"
+streams.stream.2.nb_read_frames="6"
+streams.stream.2.nb_read_packets="6"
+format.filename="tests/data/ffprobe-test.nut"
+format.nb_streams=3
+format.format_name="nut"
+format.format_long_name="NUT"
+format.start_time="0.000000"
+format.duration="15.320522"
+format.size="1351269"
+format.bit_rate="705599"
+format.tags.title="ffprobe test file"
+format.tags.comment="'A comment wih XML & JSON special chars': <tag value=\"x\">"
+format.tags.comment2="I ♥ Üñîçød€"
diff --git a/tests/ref/fate/ffprobe_ini b/tests/ref/fate/ffprobe_ini
new file mode 100644
index 0000000..71fa69f
--- /dev/null
+++ b/tests/ref/fate/ffprobe_ini
@@ -0,0 +1,779 @@
+# ffprobe output
+
+[packets_and_frames.packet.0]
+codec_type=audio
+stream_index=0
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=397
+flags=K
+
+[packets_and_frames.frame.0]
+media_type=audio
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=397
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.1]
+codec_type=video
+stream_index=1
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=2472
+flags=K
+
+[packets_and_frames.frame.1]
+media_type=video
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=2472
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.2]
+codec_type=video
+stream_index=2
+pts=0
+pts_time=0.000000
+dts=0
+dts_time=0.000000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=232893
+flags=K
+
+[packets_and_frames.frame.2]
+media_type=video
+key_frame=1
+pkt_pts=0
+pkt_pts_time=0.000000
+pkt_dts=0
+pkt_dts_time=0.000000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=232893
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.3]
+codec_type=audio
+stream_index=0
+pts=1024
+pts_time=0.023220
+dts=1024
+dts_time=0.023220
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=262898
+flags=K
+
+[packets_and_frames.frame.3]
+media_type=audio
+key_frame=1
+pkt_pts=1024
+pkt_pts_time=0.023220
+pkt_dts=1024
+pkt_dts_time=0.023220
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=262898
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.4]
+codec_type=video
+stream_index=1
+pts=1
+pts_time=0.040000
+dts=1
+dts_time=0.040000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=264974
+flags=K
+
+[packets_and_frames.frame.4]
+media_type=video
+key_frame=1
+pkt_pts=1
+pkt_pts_time=0.040000
+pkt_dts=1
+pkt_dts_time=0.040000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=264974
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.5]
+codec_type=video
+stream_index=2
+pts=1
+pts_time=0.040000
+dts=1
+dts_time=0.040000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=495396
+flags=K
+
+[packets_and_frames.frame.5]
+media_type=video
+key_frame=1
+pkt_pts=1
+pkt_pts_time=0.040000
+pkt_dts=1
+pkt_dts_time=0.040000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=495396
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.6]
+codec_type=audio
+stream_index=0
+pts=2048
+pts_time=0.046440
+dts=2048
+dts_time=0.046440
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=525401
+flags=K
+
+[packets_and_frames.frame.6]
+media_type=audio
+key_frame=1
+pkt_pts=2048
+pkt_pts_time=0.046440
+pkt_dts=2048
+pkt_dts_time=0.046440
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=525401
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.7]
+codec_type=audio
+stream_index=0
+pts=3072
+pts_time=0.069660
+dts=3072
+dts_time=0.069660
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=527472
+flags=K
+
+[packets_and_frames.frame.7]
+media_type=audio
+key_frame=1
+pkt_pts=3072
+pkt_pts_time=0.069660
+pkt_dts=3072
+pkt_dts_time=0.069660
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=527472
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.8]
+codec_type=video
+stream_index=1
+pts=2
+pts_time=0.080000
+dts=2
+dts_time=0.080000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=529548
+flags=K
+
+[packets_and_frames.frame.8]
+media_type=video
+key_frame=1
+pkt_pts=2
+pkt_pts_time=0.080000
+pkt_dts=2
+pkt_dts_time=0.080000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=529548
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.9]
+codec_type=video
+stream_index=2
+pts=2
+pts_time=0.080000
+dts=2
+dts_time=0.080000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=759970
+flags=K
+
+[packets_and_frames.frame.9]
+media_type=video
+key_frame=1
+pkt_pts=2
+pkt_pts_time=0.080000
+pkt_dts=2
+pkt_dts_time=0.080000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=759970
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.10]
+codec_type=audio
+stream_index=0
+pts=4096
+pts_time=0.092880
+dts=4096
+dts_time=0.092880
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=789975
+flags=K
+
+[packets_and_frames.frame.10]
+media_type=audio
+key_frame=1
+pkt_pts=4096
+pkt_pts_time=0.092880
+pkt_dts=4096
+pkt_dts_time=0.092880
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=789975
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.11]
+codec_type=audio
+stream_index=0
+pts=5120
+pts_time=0.116100
+dts=5120
+dts_time=0.116100
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=792046
+flags=K
+
+[packets_and_frames.frame.11]
+media_type=audio
+key_frame=1
+pkt_pts=5120
+pkt_pts_time=0.116100
+pkt_dts=5120
+pkt_dts_time=0.116100
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=792046
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.12]
+codec_type=video
+stream_index=1
+pts=3
+pts_time=0.120000
+dts=3
+dts_time=0.120000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=794122
+flags=K
+
+[packets_and_frames.frame.12]
+media_type=video
+key_frame=1
+pkt_pts=3
+pkt_pts_time=0.120000
+pkt_dts=3
+pkt_dts_time=0.120000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=794122
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.13]
+codec_type=video
+stream_index=2
+pts=3
+pts_time=0.120000
+dts=3
+dts_time=0.120000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1024544
+flags=K
+
+[packets_and_frames.frame.13]
+media_type=video
+key_frame=1
+pkt_pts=3
+pkt_pts_time=0.120000
+pkt_dts=3
+pkt_dts_time=0.120000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1024544
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.14]
+codec_type=audio
+stream_index=0
+pts=6144
+pts_time=0.139320
+dts=6144
+dts_time=0.139320
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1054549
+flags=K
+
+[packets_and_frames.frame.14]
+media_type=audio
+key_frame=1
+pkt_pts=6144
+pkt_pts_time=0.139320
+pkt_dts=6144
+pkt_dts_time=0.139320
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1054549
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.15]
+codec_type=video
+stream_index=1
+pts=4
+pts_time=0.160000
+dts=4
+dts_time=0.160000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=230400
+pos=1056625
+flags=K
+
+[packets_and_frames.frame.15]
+media_type=video
+key_frame=1
+pkt_pts=4
+pkt_pts_time=0.160000
+pkt_dts=4
+pkt_dts_time=0.160000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1056625
+width=320
+height=240
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.16]
+codec_type=video
+stream_index=2
+pts=4
+pts_time=0.160000
+dts=4
+dts_time=0.160000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1287047
+flags=K
+
+[packets_and_frames.frame.16]
+media_type=video
+key_frame=1
+pkt_pts=4
+pkt_pts_time=0.160000
+pkt_dts=4
+pkt_dts_time=0.160000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1287047
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[packets_and_frames.packet.17]
+codec_type=audio
+stream_index=0
+pts=7168
+pts_time=0.162540
+dts=7168
+dts_time=0.162540
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1317052
+flags=K
+
+[packets_and_frames.frame.17]
+media_type=audio
+key_frame=1
+pkt_pts=7168
+pkt_pts_time=0.162540
+pkt_dts=7168
+pkt_dts_time=0.162540
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1317052
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.18]
+codec_type=audio
+stream_index=0
+pts=8192
+pts_time=0.185760
+dts=8192
+dts_time=0.185760
+duration=1024
+duration_time=0.023220
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=2048
+pos=1319124
+flags=K
+
+[packets_and_frames.frame.18]
+media_type=audio
+key_frame=1
+pkt_pts=8192
+pkt_pts_time=0.185760
+pkt_dts=8192
+pkt_dts_time=0.185760
+pkt_duration=1024
+pkt_duration_time=0.023220
+pkt_pos=1319124
+sample_fmt=s16
+nb_samples=1024
+channels=1
+channel_layout=unknown
+
+[packets_and_frames.packet.19]
+codec_type=video
+stream_index=2
+pts=5
+pts_time=0.200000
+dts=5
+dts_time=0.200000
+duration=1
+duration_time=0.040000
+convergence_duration=N/A
+convergence_duration_time=N/A
+size=30000
+pos=1321176
+flags=K
+
+[packets_and_frames.frame.19]
+media_type=video
+key_frame=1
+pkt_pts=5
+pkt_pts_time=0.200000
+pkt_dts=5
+pkt_dts_time=0.200000
+pkt_duration=1
+pkt_duration_time=0.040000
+pkt_pos=1321176
+width=100
+height=100
+pix_fmt=rgb24
+sample_aspect_ratio=1\:1
+pict_type=I
+coded_picture_number=0
+display_picture_number=0
+interlaced_frame=0
+top_field_first=0
+repeat_pict=0
+reference=0
+
+[streams.stream.0]
+index=0
+codec_name=pcm_s16le
+codec_long_name=PCM signed 16-bit little-endian
+profile=unknown
+codec_type=audio
+codec_time_base=1/44100
+codec_tag_string=[1][0][0][0]
+codec_tag=0x0001
+sample_fmt=s16
+sample_rate=44100
+channels=1
+bits_per_sample=16
+id=N/A
+r_frame_rate=0/0
+avg_frame_rate=0/0
+time_base=1/44100
+start_pts=0
+start_time=0.000000
+duration_ts=675635
+duration=15.320522
+bit_rate=705600
+nb_frames=N/A
+nb_read_frames=9
+nb_read_packets=9
+
+[streams.stream.1]
+index=1
+codec_name=rawvideo
+codec_long_name=raw video
+profile=unknown
+codec_type=video
+codec_time_base=1/25
+codec_tag_string=RGB[24]
+codec_tag=0x18424752
+width=320
+height=240
+has_b_frames=0
+sample_aspect_ratio=1\:1
+display_aspect_ratio=4\:3
+pix_fmt=rgb24
+level=-99
+timecode=N/A
+id=N/A
+r_frame_rate=25/1
+avg_frame_rate=0/0
+time_base=1/25
+start_pts=0
+start_time=0.000000
+duration_ts=383
+duration=15.320000
+bit_rate=N/A
+nb_frames=N/A
+nb_read_frames=5
+nb_read_packets=5
+
+[streams.stream.2]
+index=2
+codec_name=rawvideo
+codec_long_name=raw video
+profile=unknown
+codec_type=video
+codec_time_base=1/25
+codec_tag_string=RGB[24]
+codec_tag=0x18424752
+width=100
+height=100
+has_b_frames=0
+sample_aspect_ratio=1\:1
+display_aspect_ratio=1\:1
+pix_fmt=rgb24
+level=-99
+timecode=N/A
+id=N/A
+r_frame_rate=25/1
+avg_frame_rate=0/0
+time_base=1/25
+start_pts=0
+start_time=0.000000
+duration_ts=383
+duration=15.320000
+bit_rate=N/A
+nb_frames=N/A
+nb_read_frames=6
+nb_read_packets=6
+
+[format]
+filename=tests/data/ffprobe-test.nut
+nb_streams=3
+format_name=nut
+format_long_name=NUT
+start_time=0.000000
+duration=15.320522
+size=1351269
+bit_rate=705599
+
+[format.tags]
+title=ffprobe test file
+comment='A comment wih XML & JSON special chars'\: <tag value\="x">
+comment2=I ♥ Üñîçød€
diff --git a/tests/ref/fate/ffprobe_json b/tests/ref/fate/ffprobe_json
new file mode 100644
index 0000000..f3d17fc
--- /dev/null
+++ b/tests/ref/fate/ffprobe_json
@@ -0,0 +1,762 @@
+{
+    "packets_and_frames": [
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 0,
+            "pts_time": "0.000000",
+            "dts": 0,
+            "dts_time": "0.000000",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "397",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 0,
+            "pkt_pts_time": "0.000000",
+            "pkt_dts": 0,
+            "pkt_dts_time": "0.000000",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "397",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 1,
+            "pts": 0,
+            "pts_time": "0.000000",
+            "dts": 0,
+            "dts_time": "0.000000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "230400",
+            "pos": "2472",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 0,
+            "pkt_pts_time": "0.000000",
+            "pkt_dts": 0,
+            "pkt_dts_time": "0.000000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "2472",
+            "width": 320,
+            "height": 240,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 0,
+            "pts_time": "0.000000",
+            "dts": 0,
+            "dts_time": "0.000000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "232893",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 0,
+            "pkt_pts_time": "0.000000",
+            "pkt_dts": 0,
+            "pkt_dts_time": "0.000000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "232893",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 1024,
+            "pts_time": "0.023220",
+            "dts": 1024,
+            "dts_time": "0.023220",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "262898",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 1024,
+            "pkt_pts_time": "0.023220",
+            "pkt_dts": 1024,
+            "pkt_dts_time": "0.023220",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "262898",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 1,
+            "pts": 1,
+            "pts_time": "0.040000",
+            "dts": 1,
+            "dts_time": "0.040000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "230400",
+            "pos": "264974",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 1,
+            "pkt_pts_time": "0.040000",
+            "pkt_dts": 1,
+            "pkt_dts_time": "0.040000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "264974",
+            "width": 320,
+            "height": 240,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 1,
+            "pts_time": "0.040000",
+            "dts": 1,
+            "dts_time": "0.040000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "495396",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 1,
+            "pkt_pts_time": "0.040000",
+            "pkt_dts": 1,
+            "pkt_dts_time": "0.040000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "495396",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 2048,
+            "pts_time": "0.046440",
+            "dts": 2048,
+            "dts_time": "0.046440",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "525401",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 2048,
+            "pkt_pts_time": "0.046440",
+            "pkt_dts": 2048,
+            "pkt_dts_time": "0.046440",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "525401",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 3072,
+            "pts_time": "0.069660",
+            "dts": 3072,
+            "dts_time": "0.069660",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "527472",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 3072,
+            "pkt_pts_time": "0.069660",
+            "pkt_dts": 3072,
+            "pkt_dts_time": "0.069660",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "527472",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 1,
+            "pts": 2,
+            "pts_time": "0.080000",
+            "dts": 2,
+            "dts_time": "0.080000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "230400",
+            "pos": "529548",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 2,
+            "pkt_pts_time": "0.080000",
+            "pkt_dts": 2,
+            "pkt_dts_time": "0.080000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "529548",
+            "width": 320,
+            "height": 240,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 2,
+            "pts_time": "0.080000",
+            "dts": 2,
+            "dts_time": "0.080000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "759970",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 2,
+            "pkt_pts_time": "0.080000",
+            "pkt_dts": 2,
+            "pkt_dts_time": "0.080000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "759970",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 4096,
+            "pts_time": "0.092880",
+            "dts": 4096,
+            "dts_time": "0.092880",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "789975",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 4096,
+            "pkt_pts_time": "0.092880",
+            "pkt_dts": 4096,
+            "pkt_dts_time": "0.092880",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "789975",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 5120,
+            "pts_time": "0.116100",
+            "dts": 5120,
+            "dts_time": "0.116100",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "792046",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 5120,
+            "pkt_pts_time": "0.116100",
+            "pkt_dts": 5120,
+            "pkt_dts_time": "0.116100",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "792046",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 1,
+            "pts": 3,
+            "pts_time": "0.120000",
+            "dts": 3,
+            "dts_time": "0.120000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "230400",
+            "pos": "794122",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 3,
+            "pkt_pts_time": "0.120000",
+            "pkt_dts": 3,
+            "pkt_dts_time": "0.120000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "794122",
+            "width": 320,
+            "height": 240,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 3,
+            "pts_time": "0.120000",
+            "dts": 3,
+            "dts_time": "0.120000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "1024544",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 3,
+            "pkt_pts_time": "0.120000",
+            "pkt_dts": 3,
+            "pkt_dts_time": "0.120000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "1024544",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 6144,
+            "pts_time": "0.139320",
+            "dts": 6144,
+            "dts_time": "0.139320",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "1054549",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 6144,
+            "pkt_pts_time": "0.139320",
+            "pkt_dts": 6144,
+            "pkt_dts_time": "0.139320",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "1054549",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 1,
+            "pts": 4,
+            "pts_time": "0.160000",
+            "dts": 4,
+            "dts_time": "0.160000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "230400",
+            "pos": "1056625",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 4,
+            "pkt_pts_time": "0.160000",
+            "pkt_dts": 4,
+            "pkt_dts_time": "0.160000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "1056625",
+            "width": 320,
+            "height": 240,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 4,
+            "pts_time": "0.160000",
+            "dts": 4,
+            "dts_time": "0.160000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "1287047",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 4,
+            "pkt_pts_time": "0.160000",
+            "pkt_dts": 4,
+            "pkt_dts_time": "0.160000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "1287047",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 7168,
+            "pts_time": "0.162540",
+            "dts": 7168,
+            "dts_time": "0.162540",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "1317052",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 7168,
+            "pkt_pts_time": "0.162540",
+            "pkt_dts": 7168,
+            "pkt_dts_time": "0.162540",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "1317052",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "audio",
+            "stream_index": 0,
+            "pts": 8192,
+            "pts_time": "0.185760",
+            "dts": 8192,
+            "dts_time": "0.185760",
+            "duration": 1024,
+            "duration_time": "0.023220",
+            "size": "2048",
+            "pos": "1319124",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "audio",
+            "key_frame": 1,
+            "pkt_pts": 8192,
+            "pkt_pts_time": "0.185760",
+            "pkt_dts": 8192,
+            "pkt_dts_time": "0.185760",
+            "pkt_duration": 1024,
+            "pkt_duration_time": "0.023220",
+            "pkt_pos": "1319124",
+            "sample_fmt": "s16",
+            "nb_samples": 1024,
+            "channels": 1
+        },
+        {
+            "type": "packet",
+            "codec_type": "video",
+            "stream_index": 2,
+            "pts": 5,
+            "pts_time": "0.200000",
+            "dts": 5,
+            "dts_time": "0.200000",
+            "duration": 1,
+            "duration_time": "0.040000",
+            "size": "30000",
+            "pos": "1321176",
+            "flags": "K"
+        },
+        {
+            "type": "frame",
+            "media_type": "video",
+            "key_frame": 1,
+            "pkt_pts": 5,
+            "pkt_pts_time": "0.200000",
+            "pkt_dts": 5,
+            "pkt_dts_time": "0.200000",
+            "pkt_duration": 1,
+            "pkt_duration_time": "0.040000",
+            "pkt_pos": "1321176",
+            "width": 100,
+            "height": 100,
+            "pix_fmt": "rgb24",
+            "sample_aspect_ratio": "1:1",
+            "pict_type": "I",
+            "coded_picture_number": 0,
+            "display_picture_number": 0,
+            "interlaced_frame": 0,
+            "top_field_first": 0,
+            "repeat_pict": 0,
+            "reference": 0
+        }
+    ],
+    "streams": [
+        {
+            "index": 0,
+            "codec_name": "pcm_s16le",
+            "codec_long_name": "PCM signed 16-bit little-endian",
+            "codec_type": "audio",
+            "codec_time_base": "1/44100",
+            "codec_tag_string": "[1][0][0][0]",
+            "codec_tag": "0x0001",
+            "sample_fmt": "s16",
+            "sample_rate": "44100",
+            "channels": 1,
+            "bits_per_sample": 16,
+            "r_frame_rate": "0/0",
+            "avg_frame_rate": "0/0",
+            "time_base": "1/44100",
+            "start_pts": 0,
+            "start_time": "0.000000",
+            "duration_ts": 675635,
+            "duration": "15.320522",
+            "bit_rate": "705600",
+            "nb_read_frames": "9",
+            "nb_read_packets": "9"
+        },
+        {
+            "index": 1,
+            "codec_name": "rawvideo",
+            "codec_long_name": "raw video",
+            "codec_type": "video",
+            "codec_time_base": "1/25",
+            "codec_tag_string": "RGB[24]",
+            "codec_tag": "0x18424752",
+            "width": 320,
+            "height": 240,
+            "has_b_frames": 0,
+            "sample_aspect_ratio": "1:1",
+            "display_aspect_ratio": "4:3",
+            "pix_fmt": "rgb24",
+            "level": -99,
+            "r_frame_rate": "25/1",
+            "avg_frame_rate": "0/0",
+            "time_base": "1/25",
+            "start_pts": 0,
+            "start_time": "0.000000",
+            "duration_ts": 383,
+            "duration": "15.320000",
+            "nb_read_frames": "5",
+            "nb_read_packets": "5"
+        },
+        {
+            "index": 2,
+            "codec_name": "rawvideo",
+            "codec_long_name": "raw video",
+            "codec_type": "video",
+            "codec_time_base": "1/25",
+            "codec_tag_string": "RGB[24]",
+            "codec_tag": "0x18424752",
+            "width": 100,
+            "height": 100,
+            "has_b_frames": 0,
+            "sample_aspect_ratio": "1:1",
+            "display_aspect_ratio": "1:1",
+            "pix_fmt": "rgb24",
+            "level": -99,
+            "r_frame_rate": "25/1",
+            "avg_frame_rate": "0/0",
+            "time_base": "1/25",
+            "start_pts": 0,
+            "start_time": "0.000000",
+            "duration_ts": 383,
+            "duration": "15.320000",
+            "nb_read_frames": "6",
+            "nb_read_packets": "6"
+        }
+    ],
+    "format": {
+        "filename": "tests/data/ffprobe-test.nut",
+        "nb_streams": 3,
+        "format_name": "nut",
+        "format_long_name": "NUT",
+        "start_time": "0.000000",
+        "duration": "15.320522",
+        "size": "1351269",
+        "bit_rate": "705599",
+        "tags": {
+            "title": "ffprobe test file",
+            "comment": "'A comment wih XML & JSON special chars': <tag value=\"x\">",
+            "comment2": "I ♥ Üñîçød€"
+        }
+    }
+}
diff --git a/tests/ref/fate/ffprobe_xml b/tests/ref/fate/ffprobe_xml
new file mode 100644
index 0000000..2d4279b
--- /dev/null
+++ b/tests/ref/fate/ffprobe_xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ffprobe>
+    <packets_and_frames>
+        <packet codec_type="audio" stream_index="0" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="1024" duration_time="0.023220" size="2048" pos="397" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="0" pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="397" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="1" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="1" duration_time="0.040000" size="230400" pos="2472" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="0" pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="2472" width="320" height="240" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="video" stream_index="2" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="1" duration_time="0.040000" size="30000" pos="232893" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="0" pkt_pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="232893" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="audio" stream_index="0" pts="1024" pts_time="0.023220" dts="1024" dts_time="0.023220" duration="1024" duration_time="0.023220" size="2048" pos="262898" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="1024" pkt_pts_time="0.023220" pkt_dts="1024" pkt_dts_time="0.023220" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="262898" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="1" pts="1" pts_time="0.040000" dts="1" dts_time="0.040000" duration="1" duration_time="0.040000" size="230400" pos="264974" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="1" pkt_pts_time="0.040000" pkt_dts="1" pkt_dts_time="0.040000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="264974" width="320" height="240" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="video" stream_index="2" pts="1" pts_time="0.040000" dts="1" dts_time="0.040000" duration="1" duration_time="0.040000" size="30000" pos="495396" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="1" pkt_pts_time="0.040000" pkt_dts="1" pkt_dts_time="0.040000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="495396" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="audio" stream_index="0" pts="2048" pts_time="0.046440" dts="2048" dts_time="0.046440" duration="1024" duration_time="0.023220" size="2048" pos="525401" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="2048" pkt_pts_time="0.046440" pkt_dts="2048" pkt_dts_time="0.046440" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="525401" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="audio" stream_index="0" pts="3072" pts_time="0.069660" dts="3072" dts_time="0.069660" duration="1024" duration_time="0.023220" size="2048" pos="527472" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="3072" pkt_pts_time="0.069660" pkt_dts="3072" pkt_dts_time="0.069660" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="527472" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="1" pts="2" pts_time="0.080000" dts="2" dts_time="0.080000" duration="1" duration_time="0.040000" size="230400" pos="529548" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="2" pkt_pts_time="0.080000" pkt_dts="2" pkt_dts_time="0.080000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="529548" width="320" height="240" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="video" stream_index="2" pts="2" pts_time="0.080000" dts="2" dts_time="0.080000" duration="1" duration_time="0.040000" size="30000" pos="759970" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="2" pkt_pts_time="0.080000" pkt_dts="2" pkt_dts_time="0.080000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="759970" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="audio" stream_index="0" pts="4096" pts_time="0.092880" dts="4096" dts_time="0.092880" duration="1024" duration_time="0.023220" size="2048" pos="789975" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="4096" pkt_pts_time="0.092880" pkt_dts="4096" pkt_dts_time="0.092880" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="789975" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="audio" stream_index="0" pts="5120" pts_time="0.116100" dts="5120" dts_time="0.116100" duration="1024" duration_time="0.023220" size="2048" pos="792046" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="5120" pkt_pts_time="0.116100" pkt_dts="5120" pkt_dts_time="0.116100" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="792046" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="1" pts="3" pts_time="0.120000" dts="3" dts_time="0.120000" duration="1" duration_time="0.040000" size="230400" pos="794122" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="3" pkt_pts_time="0.120000" pkt_dts="3" pkt_dts_time="0.120000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="794122" width="320" height="240" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="video" stream_index="2" pts="3" pts_time="0.120000" dts="3" dts_time="0.120000" duration="1" duration_time="0.040000" size="30000" pos="1024544" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="3" pkt_pts_time="0.120000" pkt_dts="3" pkt_dts_time="0.120000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="1024544" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="audio" stream_index="0" pts="6144" pts_time="0.139320" dts="6144" dts_time="0.139320" duration="1024" duration_time="0.023220" size="2048" pos="1054549" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="6144" pkt_pts_time="0.139320" pkt_dts="6144" pkt_dts_time="0.139320" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="1054549" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="1" pts="4" pts_time="0.160000" dts="4" dts_time="0.160000" duration="1" duration_time="0.040000" size="230400" pos="1056625" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="4" pkt_pts_time="0.160000" pkt_dts="4" pkt_dts_time="0.160000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="1056625" width="320" height="240" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="video" stream_index="2" pts="4" pts_time="0.160000" dts="4" dts_time="0.160000" duration="1" duration_time="0.040000" size="30000" pos="1287047" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="4" pkt_pts_time="0.160000" pkt_dts="4" pkt_dts_time="0.160000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="1287047" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+        <packet codec_type="audio" stream_index="0" pts="7168" pts_time="0.162540" dts="7168" dts_time="0.162540" duration="1024" duration_time="0.023220" size="2048" pos="1317052" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="7168" pkt_pts_time="0.162540" pkt_dts="7168" pkt_dts_time="0.162540" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="1317052" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="audio" stream_index="0" pts="8192" pts_time="0.185760" dts="8192" dts_time="0.185760" duration="1024" duration_time="0.023220" size="2048" pos="1319124" flags="K"/>
+        <frame media_type="audio" key_frame="1" pkt_pts="8192" pkt_pts_time="0.185760" pkt_dts="8192" pkt_dts_time="0.185760" pkt_duration="1024" pkt_duration_time="0.023220" pkt_pos="1319124" sample_fmt="s16" nb_samples="1024" channels="1"/>
+        <packet codec_type="video" stream_index="2" pts="5" pts_time="0.200000" dts="5" dts_time="0.200000" duration="1" duration_time="0.040000" size="30000" pos="1321176" flags="K"/>
+        <frame media_type="video" key_frame="1" pkt_pts="5" pkt_pts_time="0.200000" pkt_dts="5" pkt_dts_time="0.200000" pkt_duration="1" pkt_duration_time="0.040000" pkt_pos="1321176" width="100" height="100" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" coded_picture_number="0" display_picture_number="0" interlaced_frame="0" top_field_first="0" repeat_pict="0" reference="0"/>
+    </packets_and_frames>
+
+    <streams>
+        <stream index="0" codec_name="pcm_s16le" codec_long_name="PCM signed 16-bit little-endian" codec_type="audio" codec_time_base="1/44100" codec_tag_string="[1][0][0][0]" codec_tag="0x0001" sample_fmt="s16" sample_rate="44100" channels="1" bits_per_sample="16" r_frame_rate="0/0" avg_frame_rate="0/0" time_base="1/44100" start_pts="0" start_time="0.000000" duration_ts="675635" duration="15.320522" bit_rate="705600" nb_read_frames="9" nb_read_packets="9"/>
+        <stream index="1" codec_name="rawvideo" codec_long_name="raw video" codec_type="video" codec_time_base="1/25" codec_tag_string="RGB[24]" codec_tag="0x18424752" width="320" height="240" has_b_frames="0" sample_aspect_ratio="1:1" display_aspect_ratio="4:3" pix_fmt="rgb24" level="-99" r_frame_rate="25/1" avg_frame_rate="0/0" time_base="1/25" start_pts="0" start_time="0.000000" duration_ts="383" duration="15.320000" nb_read_frames="5" nb_read_packets="5"/>
+        <stream index="2" codec_name="rawvideo" codec_long_name="raw video" codec_type="video" codec_time_base="1/25" codec_tag_string="RGB[24]" codec_tag="0x18424752" width="100" height="100" has_b_frames="0" sample_aspect_ratio="1:1" display_aspect_ratio="1:1" pix_fmt="rgb24" level="-99" r_frame_rate="25/1" avg_frame_rate="0/0" time_base="1/25" start_pts="0" start_time="0.000000" duration_ts="383" duration="15.320000" nb_read_frames="6" nb_read_packets="6"/>
+    </streams>
+
+    <format filename="tests/data/ffprobe-test.nut" nb_streams="3" format_name="nut" format_long_name="NUT" start_time="0.000000" duration="15.320522" size="1351269" bit_rate="705599">
+        <tag key="title" value="ffprobe test file"/>
+        <tag key="comment" value="'A comment wih XML & JSON special chars': <tag value="x">"/>
+        <tag key="comment2" value="I ♥ Üñîçød€"/>
+    </format>
+</ffprobe>
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list