Thibault Saunier
8eb0e637c7
transcodebin: Minor error message enhancement
2020-11-30 17:31:48 -03:00
Thibault Saunier
eb0d72f382
transcodebin: Unlock while setting decodebin caps
...
Otherwise it will deadlock recursing up to notify parent object property changes
2020-11-30 17:31:48 -03:00
Thibault Saunier
5ccaa595a9
transcodebin: Avoid plugin converter if filter handles ANY caps
...
For example identity or clocksync or this kind of elements can be
used with any data flow and we should not enforce decoding to row in
that case.
2020-11-30 17:31:48 -03:00
Thibault Saunier
878a196080
transcodebin: Add filter as soon as it is set
...
Instead of waiting so that we can simply use a clocksync element as
filter, otherwise we won't know the pipeline is live as it won't
return NO_PREROLL as one would expect in that case.
Adding it right away shouldn't create any issue, both ways are fine.
2020-11-30 17:31:48 -03:00
Thibault Saunier
530f694366
uritranscodebin: Add setup-source
and element-setup
signals
...
The same way as playbinX does it as it is often quite useful
2020-11-30 17:31:48 -03:00
Thibault Saunier
142e571c28
transcode: Port to encodebin2
...
This allows supporting muxing sinks like hlssink2 or splitmux
2020-11-30 17:31:48 -03:00
Thibault Saunier
d1945de102
transcodebin: Create the decodebin in _init
...
This way user can request pads right from the beginning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151 >
2020-10-29 13:30:07 +00:00
Philippe Normand
88c96789bf
transcodebin: Accept more than one stream
...
Look-up the stream matching the given ID also after building the stream list
from the received collection. Without this change the transcoder would discard
the second incoming stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151 >
2020-10-29 13:30:07 +00:00
Thibault Saunier
b254c0d5fe
transcodebin: Port to decodebin3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151 >
2020-10-29 13:30:07 +00:00
Thibault Saunier
a5fd2a4bc3
uritranscodebin: Move to using a urisourcebin for our source.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1151 >
2020-10-29 13:30:07 +00:00
Tim-Philipp Müller
f3fdd76683
rtmp, transcodebin: fix i18n header includes
...
Fixes #1351
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1416 >
2020-07-07 19:55:00 +01:00
Guillaume Desmottes
b5a28df0f3
transcodebin: fix caps NULL unref
...
gst_pad_get_current_caps() can return a NULL pointer which was raisin a CRITICAL.
2020-04-16 16:17:56 +00:00
Thibault Saunier
924006279a
transcodebin: Avoid elements name duplication
...
By just letting GStreamer choose a good name
2020-03-05 09:17:49 -03:00
Guillaume Desmottes
469d2cac2f
transcodebin: add converters before filters
...
User doesn't have any guarantee about the actual raw format decodebin will
produce so their filters may or may not fit.
Fix #1228
2020-03-04 14:15:34 +00:00
Guillaume Desmottes
667eadac92
transcodebin: fix logs when failing to link filter
...
- Display caps of the pad we actually tried to link.
- Use the template caps as the filter is likely to not have any caps set
yet.
- Log pad name as well.
2020-03-04 14:15:34 +00:00
Guillaume Desmottes
09367da35c
transcodebin: mark properties as GST_PARAM_MUTABLE_READY
...
They are all used in the READY to PAUSED transition so should not be
changed after.
2020-02-28 16:57:30 +00:00
Guillaume Desmottes
de4ea94766
transcodebin: force decoding if a filter is defined
...
Filter operates on raw data so don't allow decodebin to produce
encoded data if one is defined.
My use case here is keeping the video stream untouched but apply a filter
on the audio one, while keeping the same audio format.
2020-02-28 16:57:30 +00:00
Guillaume Desmottes
4b6164339f
transcodebin: logs when inserting, or not, a filter
...
It's not easy atm to figure out from the logs if a filter has actually be
inserted or not.
2020-02-28 16:57:30 +00:00
Guillaume Desmottes
2cb7c66ac7
transcodebin: consider 'any' as no restriction
...
gstreamer-rs set 'any' as default restriction which actually means 'no
restriction' so handle it as the absence of restriction.
2020-02-26 13:12:37 +00:00
Guillaume Desmottes
54d8360baa
transcodebin: fix caps leak
...
encodecaps was leaked if the profile has restrictions.
2020-02-26 03:23:20 +00:00
Saunier Thibault
7a66b16d97
Import GstTranscoder
2019-08-28 13:02:13 +00:00