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
G
gst-plugins-base
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
Seungha Yang
gst-plugins-base
Commits
67d2f852
Commit
67d2f852
authored
Apr 14, 2011
by
Sebastian Dröge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
encodebin: Set all elements to NULL and remove them from the bin when removing a source group
parent
500d14c3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
0 deletions
+13
-0
gst/encoding/gstencodebin.c
gst/encoding/gstencodebin.c
+13
-0
No files found.
gst/encoding/gstencodebin.c
View file @
67d2f852
...
...
@@ -1559,6 +1559,7 @@ stream_group_free (GstEncodeBin * ebin, StreamGroup * sgroup)
/* Capsfilter - outqueue */
gst_element_set_state
(
sgroup
->
outfilter
,
GST_STATE_NULL
);
gst_element_unlink
(
sgroup
->
outfilter
,
sgroup
->
outqueue
);
gst_element_set_state
(
sgroup
->
outqueue
,
GST_STATE_NULL
);
gst_bin_remove
(
GST_BIN
(
ebin
),
sgroup
->
outqueue
);
/* streamcombiner - parser - capsfilter */
...
...
@@ -1566,6 +1567,7 @@ stream_group_free (GstEncodeBin * ebin, StreamGroup * sgroup)
gst_element_set_state
(
sgroup
->
parser
,
GST_STATE_NULL
);
gst_element_unlink
(
sgroup
->
parser
,
sgroup
->
outfilter
);
gst_element_unlink
(
sgroup
->
combiner
,
sgroup
->
parser
);
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
parser
);
}
/* Sink Ghostpad */
...
...
@@ -1606,6 +1608,8 @@ stream_group_free (GstEncodeBin * ebin, StreamGroup * sgroup)
gst_iterator_resync
(
it
);
}
gst_iterator_free
(
it
);
gst_element_set_state
(
sgroup
->
combiner
,
GST_STATE_NULL
);
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
combiner
);
}
if
(
sgroup
->
splitter
)
{
...
...
@@ -1616,15 +1620,23 @@ stream_group_free (GstEncodeBin * ebin, StreamGroup * sgroup)
gst_iterator_resync
(
it
);
}
gst_iterator_free
(
it
);
gst_element_set_state
(
sgroup
->
splitter
,
GST_STATE_NULL
);
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
splitter
);
}
if
(
sgroup
->
inqueue
)
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
inqueue
);
if
(
sgroup
->
encoder
)
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
encoder
);
if
(
sgroup
->
smartencoder
)
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
smartencoder
);
if
(
sgroup
->
outfilter
)
gst_bin_remove
((
GstBin
*
)
ebin
,
sgroup
->
outfilter
);
g_slice_free
(
StreamGroup
,
sgroup
);
}
...
...
@@ -1653,6 +1665,7 @@ gst_encode_bin_tear_down_profile (GstEncodeBin * ebin)
/* Remove muxer if present */
if
(
ebin
->
muxer
)
{
gst_element_set_state
(
ebin
->
muxer
,
GST_STATE_NULL
);
gst_bin_remove
(
GST_BIN
(
ebin
),
ebin
->
muxer
);
ebin
->
muxer
=
NULL
;
}
...
...
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