Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Jan Alexander Steffens
gst-plugins-good
Commits
afa4be4b
Commit
afa4be4b
authored
Oct 12, 2018
by
Yeongjin Jeong
Committed by
Olivier Crête
Oct 12, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests: flvdemux: Add new test for channel detect using aac codec-data
https://bugzilla.gnome.org/show_bug.cgi?id=797275
parent
bd6a4aa1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
129 additions
and
0 deletions
+129
-0
tests/check/elements/flvdemux.c
tests/check/elements/flvdemux.c
+129
-0
No files found.
tests/check/elements/flvdemux.c
View file @
afa4be4b
...
...
@@ -450,6 +450,134 @@ GST_START_TEST (test_aac)
GST_END_TEST
;
GST_START_TEST
(
test_aac_not_support_rate_channels
)
{
guint8
flv_header
[]
=
{
0x46
,
0x4c
,
0x56
,
0x01
,
0x04
,
0x00
,
0x00
,
0x00
,
0x09
,
0x00
,
0x00
,
0x00
,
0x00
,
0x12
,
0x00
,
0x00
,
0x44
,
/* script tag */
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0x00
,
0x0a
,
0x6f
,
0x6e
,
0x4d
,
0x65
,
0x74
,
0x61
,
0x44
,
0x61
,
0x74
,
0x61
,
0x08
,
0x00
,
0x00
,
0x00
,
0x04
,
0x00
,
0x0c
,
0x61
,
0x75
,
0x64
,
0x69
,
0x6f
,
0x63
,
0x6f
,
0x64
,
0x65
,
0x63
,
0x69
,
0x64
,
0x00
,
0x40
,
0x24
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x0d
,
0x61
,
0x75
,
0x64
,
0x69
,
0x6f
,
0x64
,
0x61
,
0x74
,
0x61
,
0x72
,
0x61
,
0x74
,
0x65
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x09
,
0x00
,
0x00
,
0x00
,
0x4f
,
};
guint8
aac_header
[]
=
{
0x08
,
0x00
,
0x00
,
0x04
,
/* audio tag */
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0xaf
,
0x00
,
0x13
,
0x88
,
0x00
,
0x00
,
0x00
,
0x0f
,
};
guint8
aac_buffer
[]
=
{
0x08
,
0x00
,
0x01
,
0x57
,
/* audio tag */
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0xaf
,
0x01
,
0x21
,
0x21
,
0x45
,
0x00
,
0x14
,
0x50
,
0x01
,
0x46
,
0xf0
,
0x4d
,
0xfb
,
0x01
,
0x3c
,
0x08
,
0x40
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x07
,
0x0e
,
0x00
,
0x0d
,
0xff
,
0xe2
,
0x14
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xb4
,
0xbb
,
0xc6
,
0x84
,
0x29
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x69
,
0x78
,
0x00
,
0x00
,
0x01
,
0x62
};
GstHarness
*
h
=
gst_harness_new_with_padnames
(
"flvdemux"
,
"sink"
,
NULL
);
gst_harness_set_src_caps_str
(
h
,
"video/x-flv"
);
g_signal_connect
(
h
->
element
,
"pad-added"
,
G_CALLBACK
(
flvdemux_pad_added
),
h
);
gst_harness_push
(
h
,
create_buffer
(
flv_header
,
sizeof
(
flv_header
)));
gst_harness_push
(
h
,
create_buffer
(
aac_header
,
sizeof
(
aac_header
)));
gst_harness_push
(
h
,
create_buffer
(
aac_buffer
,
sizeof
(
aac_buffer
)));
{
GstCaps
*
caps
;
const
GstStructure
*
s
;
gint
mpegversion
;
gboolean
framed
;
const
gchar
*
stream_format
;
gint
rate
;
gint
channels
;
const
GValue
*
codec_data
;
caps
=
gst_pad_get_current_caps
(
h
->
sinkpad
);
s
=
gst_caps_get_structure
(
caps
,
0
);
fail_unless
(
gst_structure_has_name
(
s
,
"audio/mpeg"
));
gst_structure_get_int
(
s
,
"mpegversion"
,
&
mpegversion
);
fail_unless_equals_int
(
4
,
mpegversion
);
gst_structure_get_boolean
(
s
,
"framed"
,
&
framed
);
fail_unless
(
framed
==
TRUE
);
stream_format
=
gst_structure_get_string
(
s
,
"stream-format"
);
fail_unless_equals_string
(
"raw"
,
stream_format
);
gst_structure_get_int
(
s
,
"rate"
,
&
rate
);
fail_unless_equals_int
(
22050
,
rate
);
gst_structure_get_int
(
s
,
"channels"
,
&
channels
);
fail_unless_equals_int
(
1
,
channels
);
codec_data
=
gst_structure_get_value
(
s
,
"codec_data"
);
fail_unless
(
codec_data
!=
NULL
);
fail_unless
(
G_VALUE_HOLDS
(
codec_data
,
GST_TYPE_BUFFER
));
gst_caps_unref
(
caps
);
}
/* we should have gotten one encoded buffer */
fail_unless_equals_int
(
1
,
gst_harness_buffers_in_queue
(
h
));
gst_harness_teardown
(
h
);
}
GST_END_TEST
;
GST_START_TEST
(
test_h264
)
{
guint8
flv_header
[]
=
{
...
...
@@ -537,6 +665,7 @@ flvdemux_suite (void)
tcase_add_test
(
tc_chain
,
test_speex
);
tcase_add_test
(
tc_chain
,
test_aac
);
tcase_add_test
(
tc_chain
,
test_h264
);
tcase_add_test
(
tc_chain
,
test_aac_not_support_rate_channels
);
return
s
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment