Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
gst-plugins-good
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Marc-André Lureau
gst-plugins-good
Commits
0e76ed51
Commit
0e76ed51
authored
May 14, 2013
by
Sebastian Dröge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
qtmux: Fix event handling in unit test
parent
924d7eea
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
17 deletions
+28
-17
tests/check/elements/qtmux.c
tests/check/elements/qtmux.c
+28
-17
No files found.
tests/check/elements/qtmux.c
View file @
0e76ed51
...
...
@@ -103,7 +103,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
/* setup and teardown needs some special handling for muxer */
static
GstPad
*
setup_src_pad
(
GstElement
*
element
,
GstStaticPadTemplate
*
template
,
GstCaps
*
caps
,
const
gchar
*
sinkname
)
GstStaticPadTemplate
*
template
,
const
gchar
*
sinkname
)
{
GstPad
*
srcpad
,
*
sinkpad
;
...
...
@@ -119,8 +119,6 @@ setup_src_pad (GstElement * element,
GST_ELEMENT_NAME
(
element
));
/* references are owned by: 1) us, 2) qtmux, 3) collect pads */
ASSERT_OBJECT_REFCOUNT
(
sinkpad
,
"sinkpad"
,
3
);
if
(
caps
)
fail_unless
(
gst_pad_set_caps
(
srcpad
,
caps
));
fail_unless
(
gst_pad_link
(
srcpad
,
sinkpad
)
==
GST_PAD_LINK_OK
,
"Could not link source and %s sink pads"
,
GST_ELEMENT_NAME
(
element
));
gst_object_unref
(
sinkpad
);
/* because we got it higher up */
...
...
@@ -162,7 +160,7 @@ setup_qtmux (GstStaticPadTemplate * srctemplate, const gchar * sinkname)
GST_DEBUG
(
"setup_qtmux"
);
qtmux
=
gst_check_setup_element
(
"qtmux"
);
mysrcpad
=
setup_src_pad
(
qtmux
,
srctemplate
,
NULL
,
sinkname
);
mysrcpad
=
setup_src_pad
(
qtmux
,
srctemplate
,
sinkname
);
mysinkpad
=
gst_check_setup_sink_pad
(
qtmux
,
&
sinktemplate
);
gst_pad_set_active
(
mysrcpad
,
TRUE
);
gst_pad_set_active
(
mysinkpad
,
TRUE
);
...
...
@@ -203,15 +201,18 @@ check_qtmux_pad (GstStaticPadTemplate * srctemplate, const gchar * sinkname,
GST_STATE_PLAYING
)
==
GST_STATE_CHANGE_SUCCESS
,
"could not set to playing"
);
gst_pad_push_event
(
mysrcpad
,
gst_event_new_stream_start
(
"test"
));
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
/* ensure segment (format) properly setup */
gst_segment_init
(
&
segment
,
GST_FORMAT_TIME
);
fail_unless
(
gst_pad_push_event
(
mysrcpad
,
gst_event_new_segment
(
&
segment
)));
inbuffer
=
gst_buffer_new_and_alloc
(
1
);
gst_buffer_memset
(
inbuffer
,
0
,
0
,
1
);
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
GST_BUFFER_TIMESTAMP
(
inbuffer
)
=
0
;
GST_BUFFER_DURATION
(
inbuffer
)
=
40
*
GST_MSECOND
;
ASSERT_BUFFER_REFCOUNT
(
inbuffer
,
"inbuffer"
,
1
);
...
...
@@ -292,15 +293,18 @@ check_qtmux_pad_fragmented (GstStaticPadTemplate * srctemplate,
GST_STATE_PLAYING
)
==
GST_STATE_CHANGE_SUCCESS
,
"could not set to playing"
);
gst_pad_push_event
(
mysrcpad
,
gst_event_new_stream_start
(
"test"
));
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
/* ensure segment (format) properly setup */
gst_segment_init
(
&
segment
,
GST_FORMAT_TIME
);
fail_unless
(
gst_pad_push_event
(
mysrcpad
,
gst_event_new_segment
(
&
segment
)));
inbuffer
=
gst_buffer_new_and_alloc
(
1
);
gst_buffer_memset
(
inbuffer
,
0
,
0
,
1
);
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
GST_BUFFER_TIMESTAMP
(
inbuffer
)
=
0
;
GST_BUFFER_DURATION
(
inbuffer
)
=
40
*
GST_MSECOND
;
ASSERT_BUFFER_REFCOUNT
(
inbuffer
,
"inbuffer"
,
1
);
...
...
@@ -522,6 +526,12 @@ GST_START_TEST (test_reuse)
gst_pad_set_active
(
mysrcpad
,
TRUE
);
gst_pad_set_active
(
mysinkpad
,
TRUE
);
gst_pad_push_event
(
mysrcpad
,
gst_event_new_stream_start
(
"test"
));
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
/* ensure segment (format) properly setup */
gst_segment_init
(
&
segment
,
GST_FORMAT_TIME
);
fail_unless
(
gst_pad_push_event
(
mysrcpad
,
gst_event_new_segment
(
&
segment
)));
...
...
@@ -529,9 +539,6 @@ GST_START_TEST (test_reuse)
inbuffer
=
gst_buffer_new_and_alloc
(
1
);
fail_unless
(
inbuffer
!=
NULL
);
gst_buffer_memset
(
inbuffer
,
0
,
0
,
1
);
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
GST_BUFFER_TIMESTAMP
(
inbuffer
)
=
0
;
GST_BUFFER_DURATION
(
inbuffer
)
=
40
*
GST_MSECOND
;
ASSERT_BUFFER_REFCOUNT
(
inbuffer
,
"inbuffer"
,
1
);
...
...
@@ -803,10 +810,11 @@ test_average_bitrate_custom (const gchar * elementname,
filesink
=
gst_element_factory_make
(
"filesink"
,
NULL
);
g_object_set
(
filesink
,
"location"
,
location
,
NULL
);
gst_element_link
(
qtmux
,
filesink
);
mysrcpad
=
setup_src_pad
(
qtmux
,
tmpl
,
NULL
,
sinkpadname
);
mysrcpad
=
setup_src_pad
(
qtmux
,
tmpl
,
sinkpadname
);
fail_unless
(
mysrcpad
!=
NULL
);
gst_pad_set_active
(
mysrcpad
,
TRUE
);
fail_unless
(
gst_element_set_state
(
filesink
,
GST_STATE_PLAYING
)
!=
GST_STATE_CHANGE_FAILURE
,
"could not set filesink to playing"
);
...
...
@@ -814,6 +822,12 @@ test_average_bitrate_custom (const gchar * elementname,
GST_STATE_PLAYING
)
==
GST_STATE_CHANGE_SUCCESS
,
"could not set to playing"
);
gst_pad_push_event
(
mysrcpad
,
gst_event_new_stream_start
(
"test"
));
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
/* ensure segment (format) properly setup */
gst_segment_init
(
&
segment
,
GST_FORMAT_TIME
);
fail_unless
(
gst_pad_push_event
(
mysrcpad
,
gst_event_new_segment
(
&
segment
)));
...
...
@@ -821,9 +835,6 @@ test_average_bitrate_custom (const gchar * elementname,
for
(
i
=
0
;
i
<
3
;
i
++
)
{
inbuffer
=
gst_buffer_new_and_alloc
(
bytes
[
i
]);
gst_buffer_memset
(
inbuffer
,
0
,
0
,
bytes
[
i
]);
caps
=
gst_pad_get_pad_template_caps
(
mysrcpad
);
gst_pad_set_caps
(
mysrcpad
,
caps
);
gst_caps_unref
(
caps
);
GST_BUFFER_TIMESTAMP
(
inbuffer
)
=
total_duration
;
GST_BUFFER_DURATION
(
inbuffer
)
=
(
GstClockTime
)
durations
[
i
];
ASSERT_BUFFER_REFCOUNT
(
inbuffer
,
"inbuffer"
,
1
);
...
...
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