Commit graph

713 commits

Author SHA1 Message Date
Sebastian Dröge
04bc1a6b65 ts-udpsrc: Remove redundant semicolons 2019-10-04 12:06:47 +03:00
Sebastian Dröge
074a82d8ad Various fixes for from_string() -> from_str(), to_string() vs. to_str()
The latter also does not allocate.
2019-10-04 11:47:50 +03:00
Mathieu Duponchelle
9897336896 jitterbuffer: flush RTPJitterBuffer when going to NULL
and cancel our timer
2019-10-03 15:56:07 +00:00
Mathieu Duponchelle
8a4d517dec jitterbuffer: fix tear down
- Release pending future id in READY -> NULL
- Verify that we still have an io_context in the timeout's closure
2019-10-03 15:56:07 +00:00
Abdul Rehman
60a19826e6 gst-plugin-tutorial: port-tutorial-documentation-to-new-register-API 2019-10-03 14:16:51 +00:00
Sebastian Dröge
b84388b0f3 threadshare: Fix shutdown race condition
We might've already handled the shutdown unparking while doing the
previous turn(s), so we have to check the atomic bool afterwards again
and before waiting (potentially) forever.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/75
2019-10-02 12:02:09 +03:00
Sebastian Dröge
429e3027b3 flvdemux: Update to nom 5 2019-09-30 11:23:29 +03:00
Sebastian Dröge
22982614d7 reqwesthttpsrc: Add property to enable/disable usage of compression 2019-09-30 11:10:33 +03:00
Sebastian Dröge
6888b08db2 reqwesthttpsrc: Fix debug output for received chunks 2019-09-30 11:00:07 +03:00
Sebastian Dröge
fecf4bac2e reqwesthttpsrc: Add test for cookie storage and context/client sharing 2019-09-29 16:43:38 +03:00
Sebastian Dröge
e3a92edd45 reqwesthttpsrc: Implement client context sharing, including cookie storage and connection re-use 2019-09-28 15:02:10 +03:00
Mathieu Duponchelle
5976c9c1e4 jitterbuffer: timeouts may be called context_wait / 2 too early
Take this into account to determine what packets need sending out.
2019-09-24 15:17:27 +02:00
Mathieu Duponchelle
c5d5cdcd9d jitterbuffer: discard packets with invalid pts
When RTPJitterBuffer resets itself in caluclate_pts(), it returns
GST_CLOCK_TIME_NONE and the packet should be discarded, according
to the behaviour of the standard jitterbuffer.
2019-09-24 15:17:22 +02:00
Sebastian Dröge
e708e42dcb fallbackswitch: Allow using compressed video in the example application 2019-09-18 11:36:54 +00:00
Sebastian Dröge
a6812d852f fallbackswitch: Use DTS if existing or otherwise PTS for timestamp tracking 2019-09-18 11:36:54 +00:00
Sebastian Dröge
50ee0c1a1d fallbackswitch: Correctly handle incoming non-default segments
We need to convert buffer timestamps to the outgoing [0, -1] segment of
aggregator. This won't work correctly for negative DTS as is.
2019-09-18 11:36:54 +00:00
Sebastian Dröge
b7dba68ab9 fallbackswitch: Fix compiler warning in test 2019-09-18 11:36:54 +00:00
Sebastian Dröge
9c051083b0 fallbackswitch: Add support for non-raw caps
And in that case always wait for a keyframe before doing a pad switch.
2019-09-18 11:36:54 +00:00
Sebastian Dröge
05d379bd3d fallbackswitch: Minor cleanup 2019-09-18 11:36:54 +00:00
Sebastian Dröge
187cd9f8b1 fallbackswitch: Add simple GTK example application 2019-09-18 11:36:54 +00:00
Sebastian Dröge
7e25b4fd84 togglerecord: Use Bus::add_watch_local() for simplification 2019-09-18 11:36:54 +00:00
Sebastian Dröge
3af5552e10 lewton: Use gst_audio_decoder_error!() macro instead of the hard gst_element_error_macro!()
This allows for some decoding errors to happen.
2019-09-15 11:50:24 +03:00
Sebastian Dröge
f2264b8a1e rav1e: Use AtomicRefCell instead of a Mutex for the state
We only ever use it from the streaming thread.
2019-09-14 20:08:18 +03:00
Sebastian Dröge
d0978473d3 Add initial version of lewton based Vorbis decoder 2019-09-14 20:08:18 +03:00
Sebastian Dröge
63eab12132 fallbackswitch: Remove unnecessary base-prelude.h include
It does not exist in pre-1.16 versions of GStreamer yet.
2019-09-13 09:41:49 +00:00
Mathieu Duponchelle
ec56fee368 jitterbuffer: fix packet_spacing calculation
When encountering an unexpected gap in received seqnums, ips_pts
and ips_rtptime must be reset to avoid calculating a potentially
invalid packet spacing the next time sequential packets are
received.
2019-09-12 15:29:18 +02:00
Sebastian Dröge
7d88c014f8 fallbackswitch: Fix buffer clipping if no duration and 0/1 framerate
Instead of a division by 0, simply ignore the duration for clipping
purposes.
2019-09-11 22:04:46 +03:00
Sebastian Dröge
e7053bc046 threadshare: Don't keep timers locked while waiting for IO 2019-09-09 13:55:56 +03:00
Sebastian Dröge
5f9d649021 threadshare: Handle context-wait==0 by waiting on IO 2019-09-09 12:37:18 +03:00
Sebastian Dröge
b05fb902f9 Remove usage of subclassing feature, it's the default now 2019-09-09 10:45:06 +03:00
Sebastian Dröge
1084178e95 jitterbuffer: Minor code cleanup 2019-09-07 10:53:11 +03:00
Sebastian Dröge
83cc8104a1 Fix or silence all remaining clippy warnings
Also ignore common errors we don't care about when running clippy and
make clippy errors fail the CI.
2019-09-07 10:42:07 +03:00
Mathieu Duponchelle
2c7775125a tests/appsrc: remove unrelated jitterbuffer "tests"
This was mistakenly staged during development for !161
2019-09-06 21:13:37 +02:00
Mathieu Duponchelle
9d7e304fc6 threadshare: address clippy errors 2019-09-06 19:21:07 +02:00
Mathieu Duponchelle
202ff408e7 jitterbuffer: share context downstream
.. and execute pending futures after pushing buffers
2019-09-06 14:33:39 +00:00
Mathieu Duponchelle
5496067925 jitterbuffer: initial thread sharing support 2019-09-06 14:33:39 +00:00
Sebastian Dröge
33cb599464 threadshare/iocontext: Add custom interval timer implementation
This knows about our throttled event loop and ensures that timers are
triggered at most 1 throttle time later instead of 2.
2019-09-06 14:33:39 +00:00
Mathieu Duponchelle
b7e55836c1 WIP: thread-sharing jitterbuffer
Actual thread-sharing will follow!
2019-09-06 14:33:39 +00:00
Sebastian Dröge
120481269b gst-plugin-version-helper: Update git2 dependency to 0.10 2019-09-04 12:20:55 +03:00
Sebastian Dröge
d48b3f18fc rav1enc: Update to new rav1e frame API
And also add support for forcing keyframes.

Disable tiles in the test for now because of https://github.com/xiph/rav1e/issues/1611
2019-08-30 09:46:37 +03:00
Sebastian Dröge
9581a3695d rav1enc: Fix build with latest rav1e API 2019-08-27 14:22:28 +03:00
Sebastian Dröge
6aa09149b9 fallbackswitch: Fix remaining GType name conflicts between bundled and gstbase aggregator
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/67
2019-08-27 11:30:35 +03:00
Sebastian Dröge
183f197d32 fallbackswitch: Add some tests 2019-08-19 15:59:02 +00:00
Sebastian Dröge
b401b2f243 fallbackswitch: New plugin providing a fallbackswitch element
Allows having a live input stream and falling back to another input
stream after a configurable timeout without any buffers received on the
main input.
2019-08-19 15:59:02 +00:00
Sebastian Dröge
064cb52d0b rav1e: Fix for rav1e API changes
The colorimetry enum values are now in sync with the spec.
2019-08-19 18:57:37 +03:00
Sebastian Dröge
b17773a574 rav1e: Fix build after videoencoder API changes 2019-08-14 22:12:26 +03:00
ahamedsajeer.15
9119349c08 reqwesthttpsrc: add timeout 2019-08-13 17:41:06 +03:00
François Laignel
0e11ac87d3 Update for new {Value, StructureRef}::get signature
See https://github.com/gtk-rs/glib/pull/513
and https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/310
2019-08-13 15:29:28 +02:00
Mathieu Duponchelle
da2332d814 ts-queue: Make PendingQueue a proper struct 2019-08-09 11:44:47 +00:00
Mathieu Duponchelle
892c812669 ts-queue: split up enqueue_item
This is far from a full refactoring, but it makes the current
implementation slightly easier to understand
2019-08-09 11:44:47 +00:00