Mathieu Duponchelle
decc1e2029
threadshare: make live sources return NoPreroll from PlayingToPaused
...
Not returning NoPreroll in that transition causes downstream sinks
to wait for preroll forever.
Reproduce with:
gst-launch-1.0 audiotestsrc ! udpsink host=127.0.0.1 port=50000
gst-launch-1.0 ts-udpsrc address=127.0.0.1 port=50000 ! fakesink
ctrl + C in the receiver pipeline -> hangs forever
2020-01-23 15:56:11 +01:00
Sebastian Dröge
92941d7f92
closedcaption: Fix compilation after buffer copy flags were changed to a constant
2020-01-23 08:21:32 +02:00
François Laignel
d1cc8eaec8
ts: don't panic when operating on a Context without a valid PadContext
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/94
2020-01-22 06:16:17 +00:00
Mathieu Duponchelle
0aa5b15564
jitterbuffer: return NoPreroll when going from READY to PAUSED
...
This is useful when upstream is not a live source
Fixes potential issue discussed in:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/93#note_388528
2020-01-21 22:14:33 +01:00
Mathieu Duponchelle
1823ca525e
jitterbuffer: don't try to lock in query handlers
...
Instead, add position and latency fields to the PadSrcHandler
Fixes #93
2020-01-21 22:14:06 +01:00
Sebastian Dröge
5047ed480d
claxondec: Fix/silence a few clippy warnings
2020-01-20 08:13:43 +02:00
Sebastian Dröge
1ad4e39cc9
meson: Add claxon plugin
2020-01-20 08:01:14 +02:00
Ruben Gonzalez
7d3ab342d2
Add claxon based FLAC decoder.
...
Audio decoder element structure is based in `gst-plugin-lewton` (a lewton based Vorbis decoder created by @slomo)
The element assumes correctly parsed input from `flacparse`.
Implementation details:
* Claxon returned frames does not contain audio channels interleaved, the reorganization of the channels is done by the element.
* Claxon output buffers are always Vec<i32>, mapping to the correct type (depending on the audio format) is also done by the element.
Mono s16 and stereo_s32 test are provided.
Complete pipelines to test are:
```
gst-launch-1.0 -v souphttpsrc location=https://archive.org/download/MLKDream/MLKDream.flac ! queue2 ! flacparse ! flacdec ! audioconvert ! autoaudiosink
gst-launch-1.0 -v audiotestsrc ! audio/x-raw, format=S16LE, layout=interleaved, rate=44100, channels=1 ! audioconvert ! flacenc ! flacparse ! claxondec ! autoaudiosink
```
Fixes #71
2020-01-19 16:01:23 +00:00
Sebastian Dröge
b84831c94f
reqwesthttpsrc: Switch back to hyperx
...
It was updated to the new versions of its dependencies and provides
typed header types for more of the headers that we're using.
2020-01-18 10:51:25 +00:00
François Laignel
676ae87aed
ts: queue & proxy: spawn on src_pad in PadSinkHandlers...
...
... instead of copying the src_pad's Context
2020-01-17 15:37:54 +01:00
Guillaume Desmottes
d98e76529d
meson: build tests, bins and examples
...
Best to build as much as possible so we can detect build breakage
earlier and we won't have to build tests when running them.
2020-01-16 14:03:39 +05:30
François Laignel
7a4fea8669
ts-udpsrc: prepare socket immediately
...
Now that we can `Context::enter`, it is no longer necessary to spawn
a `Future` to prepare the `UdpSocket` and beneficiate from the
`Context`'s IO driver.
2020-01-16 00:44:48 +01:00
François Laignel
a15d60105b
ts: fix FlushStart / FlushStop events handling
2020-01-16 00:44:45 +01:00
François Laignel
3eed2f69d9
ts: have block_on panic if running on a Context thread
2020-01-16 00:18:16 +01:00
Guillaume Desmottes
a6adc81eb4
tutorial: use GEnum derive
2020-01-13 09:31:05 +05:30
Guillaume Desmottes
ce004a5bac
cdgdec: reset the interpreter when stopping
...
Fully reset the interpreter state as if we decode later it will be
another file.
2020-01-10 10:49:44 +05:30
Guillaume Desmottes
119afdde2a
cdg: cdgdec: reset interpreter when flushing
...
Prevent visual artifacts from the previous position when seeking to a
not keyframe.
Dumping cdg_renderer version as we need the new reset API.
2020-01-09 17:16:03 +05:30
Guillaume Desmottes
28e3e3199c
meson: add test wrapper
...
Allow us to run the tests using 'meson test'.
Needed for https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/46
2020-01-07 14:19:13 +05:30
Guillaume Desmottes
accd10dfea
meson: add 'command' argument to cargo wrapper
...
Will be used to add test support.
2020-01-07 14:06:14 +05:30
Tobias Morell
aa40eae581
tutorial: Add enum property to control output on progress bin
...
Fixes #84
2020-01-06 11:22:40 +02:00
Guillaume Desmottes
e73e27cda4
ci: include gst-ci
...
- Use gst-ci's stages instead of our own
- Override GIT_STRATEGY for Rust only builds as gst-ci relies on
gst-build subprojects by default.
First step merging our Rust CI with gst-ci. Once this is merged we'll
enable Rust in gst-ci builds and so will guard gst-plugins-rs MR against
breaking gst-build.
2020-01-03 14:35:49 +05:30
Guillaume Desmottes
13d4029f70
meson: add dav1d option
...
Allow to ensure that the plugin is actually build.
2020-01-03 09:46:29 +05:30
Guillaume Desmottes
46dda60db9
meson: don't pass empty --exclude when building all plugins
...
''.split(',') returns [''] and not [].
2020-01-03 09:41:41 +05:30
Guillaume Desmottes
e158f4ef88
meson: rename cargo.py to cargo_wrapper.py
...
Fix 'cargo build' on Windows as its $PATH includes $PWD, it seems to
pick our script rather than the actual cargo.
2020-01-03 09:35:10 +05:30
Mathieu Duponchelle
e2a2a17f09
fallbackswitch: disable extra warnings for aggregator build
2020-01-02 15:07:10 +00:00
Sebastian Dröge
9cade5bbe0
closedcaption: Put framerates into the src pad template caps of sccparse/mccparse
...
We're always providing a framerate on the output and without this it's
not possible to link the parsers to ccconvert while having it convert to
CEA708 CDP.
2020-01-02 16:44:38 +02:00
Guillaume Desmottes
cbb1912e99
meson: check for dav1d dep
...
Needed to build dav1d-sys which is required by the dav1d decoder plugin.
Exclude the plugin if the dep isn't found, preventing the build to fail.
2020-01-02 08:19:55 +00:00
Guillaume Desmottes
db8b2ad08b
threadshare: fix coding style
...
Just ran 'gst-indent'.
2020-01-02 11:49:39 +05:30
Guillaume Desmottes
9b33c3627d
fallbackswitch: fix coding style
...
Just ran 'gst-indent'.
2020-01-02 11:49:13 +05:30
Sebastian Dröge
6d2ab03f56
reqwesthttpsrc: Simplify code to block on futures
2019-12-31 14:19:04 +02:00
Sebastian Dröge
b1e85c7fa0
reqwest: Update tests to hyper 0.13
2019-12-31 12:20:14 +02:00
Sebastian Dröge
672cb730a8
reqwest: Update to reqwest 0.10 / tokio 0.2
2019-12-31 11:49:09 +02:00
Philippe Normand
9d659fbd00
ci: Add dav1d build support
2019-12-24 15:10:58 +01:00
Philippe Normand
84c40b872d
dav1d: Add dav1ddec element
...
This element uses the Dav1d AV1 decoder library to decode AV1 video.
2019-12-24 15:10:58 +01:00
Guillaume Desmottes
317679fec3
meson: add gstreamer-rs deps
...
Fix race when building from gst-build as we need to be sure that all
these deps have been built before starting building gst-plugins-rs which
will build gstreamer-rs.
2019-12-24 13:58:56 +05:30
Sebastian Dröge
e877da0ba3
rav1e: Update for VideoEncoder::set_format() API changes
2019-12-23 13:31:24 +02:00
Sebastian Dröge
9772adbfbf
Fix various new clippy warnings from 1.40
2019-12-22 11:35:01 +02:00
Sebastian Dröge
bc94cc999e
Run clippy on --all-targets
2019-12-22 10:20:18 +02:00
Sebastian Dröge
dea2cb769d
rav1e: Update to 0.2 release
2019-12-22 10:14:34 +02:00
François Laignel
688357a474
Update jitterbuffer.rs + clippy pass
2019-12-21 10:58:14 +01:00
François Laignel
dfbc0d3975
Move jitterbuffer to its own directory module
2019-12-21 10:45:43 +01:00
François Laignel
0221524a10
Update to tokio release 0.2.5 + throttling
2019-12-21 08:56:43 +01:00
François Laignel
e8f5191ee7
ts: Pad wrapper for async processing
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/170#note_276334
and https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/204
2019-12-21 08:56:43 +01:00
François Laignel
bdadf25f5c
Clippy pass
2019-12-19 20:44:00 +01:00
François Laignel
ff470e9799
ts: move iocontext.rs to runtime/executor.rs
...
Part of: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/170
2019-12-19 20:44:00 +01:00
François Laignel
8eec141517
threadsharing: migrate to async/await and tokio 0.2.0-alpha.6
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/merge_requests/164
2019-12-19 20:44:00 +01:00
Sebastian Dröge
a91d0d929c
Use functions with correct mutability for BaseParseFrame/VideoCodecFrame
2019-12-18 18:55:17 +02:00
Guillaume Desmottes
9390295281
add meson support
...
This is needed to integrate gst-plugins-rs with gst-build, see
https://gitlab.freedesktop.org/gstreamer/gst-build/issues/63
2019-12-18 10:41:21 +00:00
Sebastian Dröge
ccfb8246be
Fix compilation after gstreamer-rs!383
2019-12-18 08:17:42 +02:00
Sebastian Dröge
ef8adbf113
gst-plugin-version-helper: Update git2 dependency to 0.11
2019-12-18 07:42:00 +02:00