Commit graph

798 commits

Author SHA1 Message Date
Sebastian Dröge
5ca81246f1 gst-plugin-tutorial/tutorial1: Add missing description line to Cargo.toml in the markdown 2019-12-16 16:34:43 +02:00
Sebastian Dröge
064cc827a3 Fix video plugins build after gstreamer-rs!377
VideoInfo::from_caps() now returns a Result.
2019-12-15 10:53:11 +02:00
Philippe Normand
0f99994d9e Fix audio plugins build after gstreamer-rs!376
AudioInfo::from_caps() now returns a Result.
2019-12-14 15:26:20 +00:00
Sebastian Dröge
23ed11e52f closedcaption: Use RangeBounds::contains() directly instead of our copy
It's stabilized since 1.35 and we require at least 1.39 nowadays.
2019-12-14 11:12:18 +02:00
Sebastian Dröge
f638b0eef7 Remove usage of glib_floating_reference_guard!()
It's not needed anymore.
2019-12-07 23:04:35 +02:00
Sebastian Dröge
486e0e3420 tutorial/progressbin: Handle streams without duration correctly
The "percent-double" field in the message from the progressreport
element only exists if the overall duration of the stream is known.
2019-12-07 11:03:16 +02:00
Sebastian Dröge
0eab103066 togglerecord: Update parking_lot dependency 2019-11-27 08:23:22 +01:00
Sebastian Dröge
78eebf7b15 Update various dependencies 2019-11-21 07:16:26 +00:00
Sebastian Dröge
9f75a1cecc Update for new BaseTransformImpl::set_caps() return type 2019-11-21 01:02:10 +02:00
Guillaume Desmottes
7ba1e6f60d cdg: typefind: improve CDG packets detection heuristic
We used to look at the first 10 seconds of data to compute the ratio of
CDG packets. This was not working great for files having a long intro
as no video was displayed during this time.

Split the single search window into multiple smaller ones and walk
through the whole file hoping to find a section containing CDG packets.

With this change we are now fetching at most 230400 bytes of data,
but in almost all matching cases we find the type way before that.

This heuristic is good enough to be able to properly detect all the cdg
files from my collection (77625 files).
2019-11-14 15:49:36 +05:30
Guillaume Desmottes
e1b96960b2 cdg: typefind: factor out compute_probability()
No semantic change.
2019-11-14 15:49:36 +05:30
Guillaume Desmottes
1895c72ca6 cdg: typefind: define the search window in seconds rather than bytes
Makes it easier to read and fine tune.
2019-11-14 15:49:36 +05:30
Sebastian Dröge
a5d49f57da Remove header from the README.md about the move from github to gitlab
At this point everybody should've noticed.
2019-11-14 10:27:56 +01:00
Sebastian Dröge
b89a0d18dc Require Rust 1.39 on the CI and fix the build after gstreamer-rs changes 2019-11-11 13:29:41 +01:00
Sebastian Dröge
88cb29b455 rav1e: Track 0.1 release series instead of git master 2019-11-10 08:52:25 +00:00
Philippe Normand
a049d9fada cdgdec: decide_allocation fixes
Check the pool configuration result and potentially error out before chaining to
the parent class.

Fixes #80
2019-11-05 10:42:12 +00:00
Guillaume Desmottes
e5244fc36a cdgparse: mark palette commands as HEADER
Fix rendering with decodebin3 which is dropping the first input buffers
until it find a header or key frame.
2019-11-03 16:59:10 +01:00
Sebastian Dröge
1ae57967ae Move debug categories from an instance member to lazy_static
Simplifies the code a bit and less state to carry around.
2019-10-31 23:35:11 +01:00
Jordan Petridis
93756c392f
sodium: add licence key in Cargo.toml
This matches the spdx identifier in the source files.
2019-10-22 14:46:18 +03:00
Jordan Petridis
dd5b24fcc9
CI: force install cargo audit
We are caching $CARGO_HOME in between runs, so an arbitrary
cargo audit binary might already exist in the environment.
Force install it so cargo doesn't complain and our binary
is guaranteed "fresh".
2019-10-21 14:20:22 +03:00
Arun Raghavan
d18dbb85d8 rusoto: Rename s3 as rusoto
Will disambiguate from any other S3 plugins, and matches how we name
other plugins (soup, lewton, rav1e, ...).

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/issues/76
2019-10-21 13:10:28 +05:30
Sebastian Dröge
bc34fbd2eb reqwesthttpsrc: Add support for parsing the Content-Type header
In iradio-mode we would put it as an additional field to the caps,
otherwise if it's audio/L16 we would create audio/x-unaligned-raw caps
accordingly.
2019-10-14 22:05:34 +03:00
Sebastian Dröge
12058a4c9a s3: Update rusoto dependency to 0.41 2019-10-14 21:37:20 +03:00
Guillaume Desmottes
82841555f2 ci: run 'cargo audit' in scheduled jobs 2019-10-10 14:40:09 +02:00
Sebastian Dröge
5def817f75 reqwesthttpsrc: Extend tests and cover more code paths 2019-10-05 12:08:05 +03:00
Sebastian Dröge
99836709fa reqwesthttpsrc: Correctly forward Future errors instead of mapping them all to timeouts 2019-10-05 01:07:04 +03:00
Sebastian Dröge
120f85ac71 reqwesthttpsrc: Fix up context name 2019-10-05 01:07:04 +03:00
Sebastian Dröge
c4e51d3e8c reqwesthttpsrc: Implement keep-alive property 2019-10-05 01:07:04 +03:00
Sebastian Dröge
f9e5d67478 reqwesthttpsrc: Implement iradio-mode property and parsing of icecast headers 2019-10-05 01:07:04 +03:00
Sebastian Dröge
98127948af reqwesthttpsrc: Add support for extra-headers and cookies properties 2019-10-05 01:07:04 +03:00
Sebastian Dröge
2a6ee4b959 reqwesthttpsrc: Answer the SCHEDULING query correctly
We don't really want to operate in pull mode and also hint that we're
bandwidth limited.
2019-10-05 01:07:04 +03:00
Sebastian Dröge
cecc0804d5 reqwesthttpsrc: Various cleanups, error handling improvements and better debug output 2019-10-05 01:07:04 +03:00
Sebastian Dröge
e90099bad3 reqwesthttpsrc/s3: Unlock canceller while waiting for the future to be resolved
Otherwise nothing can ever access the canceller and unlocking does not
work.

meh
2019-10-05 01:07:04 +03:00
Sebastian Dröge
69aefb15f7 Update GStreamer to 1.16.1 and explicitly use Debian buster docker images 2019-10-05 00:36:13 +03:00
Sebastian Dröge
ce2b148107 sodium: Update to hex 0.4 2019-10-04 12:20:22 +03:00
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