Tim-Philipp Müller
d0aa9f9a34
encodebin: fix some leaks in error code path
...
Fixes test_encodebin_sink_pads_nopreset_static
running under valgrind.
2014-10-14 16:54:44 +01:00
Ognyan Tonchev
d9e67777e0
streamsplitter: do not leak events when flushing them
...
https://bugzilla.gnome.org/show_bug.cgi?id=736796
2014-09-18 12:40:22 +03:00
Tim-Philipp Müller
db857e5a97
encoding: remove assignment that's no longer needed
...
CID 1231980
2014-08-29 18:21:13 +01:00
Thiago Santos
c9904fb639
encodebin: delay missing encoder error as passthrough is still possible
...
Set up a fakesink with a pad probe to replace the missing encoder to detect
if encoding was really required and only error out in this case. Otherwise
just let passthrough branch work.
This delays the error posting from the set_state function to when buffers
are really flowing. Unit test updated accordingly
https://bugzilla.gnome.org/show_bug.cgi?id=650652
2014-08-11 10:30:58 -03:00
Thibault Saunier
42ecafec0c
streamsplitter: Keep still meaningfull pending events on FLUSH_STOP
...
Only EOS and segment should be deleted in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=709868
2014-06-03 13:03:18 +02:00
Vincent Penquerc'h
ea176f3865
encodebin: guard against gst_pad_get_peer returning NULL
...
If it does, the pad may be leaked if it's a request pad, though.
Coverity 1139799
2014-04-10 13:28:30 +01:00
Vincent Penquerc'h
1afa3040b8
encodebin: guard against pathological NULL dereference
...
Coverity 1139798
2014-04-10 13:26:42 +01:00
Thiago Santos
2fbc04e7bc
streamsplitter: push pending events before eos
...
Push any pending events downstream before pushing eos
2014-01-29 13:58:07 -03:00
Wim Taymans
5df274f824
streamsplitter: handle ACCEPT_CAPS query correctly
...
We can accept a caps when one of the downstream peers can accept the
caps. This is not the same as checking a subset of the getcaps
result because parsers might accept broader caps than what their getcaps
function returns (See https://bugzilla.gnome.org/show_bug.cgi?id=677401 ).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330
2014-01-16 16:32:34 +01:00
Thibault Saunier
4305e1c33e
encodebin: Handle changes in encoding_profile::restriction during playback
...
There are cases where we want to change the restrictions caps during
playback, handle that in encodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=709588
2013-10-09 15:25:19 -03:00
Edward Hervey
9dd0e6cccc
ext/gst: Ensure default query/event handlers are used
...
And in some cases, just remove our implementation that does nothing
2013-07-26 16:08:35 +02:00
Sebastian Dröge
d4b48ec70d
streamcombiner: Proxy all sink events downstream
...
Thanks to Mathieu Duponchelle for noticing this regression
introduced with the last change.
https://bugzilla.gnome.org/show_bug.cgi?id=704706
2013-07-23 09:14:23 +02:00
Sebastian Dröge
9bd140d3b7
streamcombiner: Fix locking
...
We have to hold the streams-lock when iterating over all pads,
also the stream-lock of the pad is already locked when we receive
EOS.
Call gst_pad_event_default() for the correct default handling of
events.
2013-07-22 08:08:27 +02:00
Mathieu Duponchelle
2f8b0f1e34
encoding: fix EOS handling in streamsplitter / combiner.
...
This commit adds a streamcombinerpad with an is_eos field.
When streamcombiner receives an EOS on one of its pads, it
forwards it all its other pads are EOS.
This commit also removes the notion of "stream-switching-eos".
2013-07-21 20:25:54 -04:00
Thibault Saunier
b940cba826
streamsplitter: Keep srcpad alive while querying peer
2013-05-02 12:29:48 +01:00
Sebastian Dröge
948a4a3632
gst: Add better support for static plugins
2013-04-15 15:52:58 +02:00
Edward Hervey
b3d94bd0e4
encodebin: Add action signal to get pad for a given profile
...
This allows getting a pad for a specific encoding profile, which can
be useful when there are several stream profiles of the same type.
Also update the encodebin unit tests so that we check that the returned
pad has the right caps.
https://bugzilla.gnome.org/show_bug.cgi?id=689845
2013-03-31 12:02:05 +02:00
Vincent Penquerc'h
bccfc679b5
encodebin: activate ghost pad after creating it
...
This ensures the ghost pad will not stay in flushing mode
when it receives a flush stop event, and generally behave
badly.
This fixes at least one case of a dynamic decodebin2 + encodebin
pipeline finding a source that has not prerolled when it should
have been (due to the ghostpad staying in flushing mode).
2013-02-14 16:07:48 +00:00
Vincent Penquerc'h
17cdb54aa4
encodebin: sync muxer state with parent bin
...
Other elements were synced, but not the muxer.
2013-02-12 17:27:10 +00:00
Thibault Saunier
e79f0e801e
encodebing: Use the preset_name as the factory name and preset as the name of the preset
...
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Thibault Saunier
7358cba017
encodebin: Make use of the new preset_name when setting a preset
...
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)
+ Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
3c1041d5eb
Revert "gst: Add better support for static plugins"
...
This reverts commit d2d79e3bc2
,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2
gst: Add better support for static plugins
2012-10-24 12:10:44 +02:00
Alban Browaeys
579458f613
encodebin: muxer sink pad is not always a request pad
...
GstId3Mux sink pad is an always (static) pad. Thus releasing it
as if a request pad triggers:
(sound-juicer:11826): GStreamer-CRITICAL **:
gst_element_release_request_pad: assertion `GST_PAD_PAD_TEMPLATE (pad)
== NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
GST_PAD_REQUEST' failed
https://bugzilla.gnome.org/show_bug.cgi?id=685110
2012-09-30 15:08:17 +01:00
Tim-Philipp Müller
7c2e7b1a4f
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
7b89dddede
encodebin: rename flags type name
2012-08-29 19:23:57 +01:00
Tim-Philipp Müller
5b715cdb90
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 21:36:15 +01:00
Tim-Philipp Müller
452b38560c
encodebin: use generic marshaller for signal
2012-08-05 14:02:01 +01:00
Tim-Philipp Müller
95442368bd
smartencoder: use gst_quark_from_static_string()
2012-06-23 14:55:51 +01:00
Tim-Philipp Müller
1c77a3d801
encodebin: don't access GstElementFactory structure directly
2012-05-19 15:17:18 +01:00
Tim-Philipp Müller
3c6a3ad629
Use new gst_element_class_set_static_metadata()
2012-04-10 00:45:16 +01:00
Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
0ad7fe0590
encodebin: release additional obtained caps reference
2012-04-04 19:57:27 +02:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Tim-Philipp Müller
6b12cee5a8
encoding: port to new GLib threading API
2012-01-18 17:21:36 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Havard Graff
95be60de15
Fix various unlikely, but still potential memoryleaks in error code paths
...
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Wim Taymans
e2f91075e4
streamcombiner: fix srcpad query caps
...
The caps query on the srcpad should return the template caps instead of
forwarding the query.
2012-01-02 18:28:46 +01:00
Tim-Philipp Müller
0d98aa25b8
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0
various: typo fixes
...
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Vincent Penquerc'h
96374054ac
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00