Arun Raghavan
7eb67de34c
dav1ddec: Use sink_pad() convenience accessor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 10:01:51 -04:00
Arun Raghavan
3250675e78
dav1ddec: Move state to Mutex from Arc
...
This is needed because we may now access state concurrently with and
outside of the streaming thread during a LATENCY query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 10:01:51 -04:00
Arun Raghavan
5d01bfcb79
dav1ddec: Move decoder init from start() to set_format()
...
We need a successful LATENCY query to be able to correctly initialise
max frame delay, so let's defer decoder init until we know upstream is
readier for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 10:01:51 -04:00
Arun Raghavan
05258756ce
dav1ddec: Report latency based on frame delay
...
This is not strictly correct as we might not use the same mechanism that
dav1d is using to detect the number of CPUs. We can drop the num_cpus
based approach once
https://code.videolan.org/videolan/dav1d/-/merge_requests/1407 is merged
upstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 08:29:48 -04:00
Arun Raghavan
7d681c5ce4
dav1ddec: Expose a couple of decoder settings as properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 08:29:16 -04:00
Arun Raghavan
ea98a0b596
dav1ddec: Bump dependency for dav1d 1.0.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698 >
2022-05-11 08:29:15 -04:00
Mathieu Duponchelle
05ece5560e
tttocea608: expose roll-up timeout property
...
In roll-up mode, when no more timed text comes in, the closed
captions may remain displayed on screen indefinitely (unless the
decoder implements a timeout, but that is not mandatory).
Expose a property to erase the display memory after a configurable
amount of time has elapsed instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/754 >
2022-05-11 01:47:52 +02:00
Mathieu Duponchelle
6b80fdc270
cea608overlay: handle CLEAR status
...
+ log errors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/754 >
2022-05-10 18:52:56 +02:00
Sebastian Dröge
4a2c93299e
mccparse/sccparse: Don't log gst::FlowError::Flushing or Eos as error to the debug logs
2022-05-03 15:32:07 +03:00
Sebastian Dröge
ae32cc7f2b
closedcaption: Update to uuid 1.0
2022-04-22 13:18:26 +00:00
Philippe Normand
b423febfbe
videofx: Add colordetect video filter
...
This new video filter is able to detect the dominant color in a video frame.
When the color has changed from the previous frame the filter posts an Element
message on the bus, the associated structure is named `colordetect` and has two
fields:
* a string field named `dominant-color`
* a list field containing the whole color palette, stored as uint values, sorted
by dominance, with more dominant colors first
2022-04-16 17:40:34 +01:00
Seungha Yang
558656deb5
transcriberbin: Protect runtime "passthrough=false" change
...
There can be small race where transcription-bin is linked with
tee but state change of the transcription-bin is not finished.
And at the same time, upstream pushes event/buffer to the
transcription-bin. Do state change first then link to avoid
the condition
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/716 >
2022-04-08 21:55:54 +00:00
Sebastian Dröge
803e452889
Update minimum supported GStreamer version to 1.14
2022-04-07 12:41:54 +03:00
Sebastian Dröge
518e43fc5f
cea608tott: Don't zero-pad SRT indices but zero-pad hours to at least two digits
...
Zero-padding is not specified for the indices but all time components
need to be zero-padded (3 digits for fractional seconds, 2 digits for
everything else).
2022-03-28 12:17:34 +03:00
Ray Tiley
dd028ce97e
[transcriberbin] - make audioqueue leaky
...
If transcription runs slow or has issues the queue can fill up and block
all audio processing. This gives the queue a sufficent buffer and allows
it to drop audio if it eventually fills up. This was most noticable with
bad internet connections using the `awstrnascriber` where it would take
quite a while for the websocket to eventually timeout and the bin to
enter `passthrough=true`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/688 >
2022-03-15 20:27:02 +00:00
Sebastian Dröge
6cf7d28481
Use SPDX license format in Cargo.toml
2022-03-14 10:23:16 +02:00
Seungha Yang
aac7e52d87
transcriberbin: Don't notify signal inside lock
...
That can potentially cause deadlock
2022-03-10 20:10:30 +09:00
Seungha Yang
9e6fc2983f
transcriberbin: Add caption-source property
...
By using this new property, application can select exclusive caption
source. There are three source types
- Both: Inband and transcription captions are combined if exist.
This is default behavior.
- Inband: Transcription buffers will be dropped
- Transcription: Caption meta of each video buffer will be dropped
In this version, transcriberbin doesn't provide any hint
for application to help caption source decision. That can be done
by application's strategy, passthrough status or probing inband
caption meta for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/684 >
2022-03-08 23:51:28 +09:00
Seungha Yang
ecf03d0e5c
transcriberbin: Fix deadlock
...
Fix race between latency query handler and setup_transcription()
method.
Locking order of setup_transcription() is
state lock -> setup_transcription() -> settings lock
So taking state lock inside of setting lock in src_query()
can cause deadlock.
2022-03-08 22:38:55 +09:00
Sebastian Dröge
b38f6cc731
Remove now unnecessary Send+Sync
impls for element/etc subclasses
...
This is now automatically implemented.
2022-02-28 18:56:58 +02:00
François Laignel
2cf84d5ce8
Update minimum supported Rust version to 1.57
2022-02-21 23:32:32 +01:00
François Laignel
422ea740ca
Update to gst::_log_macro_
...
See the details:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/980
2022-02-21 20:50:01 +01:00
Sebastian Dröge
7b81945ca1
dav1ddec: Use AtomicRefCell
instead of Mutex
for the state
...
It's only accessed from the streaming thread.
2022-02-14 14:43:54 +02:00
Sebastian Dröge
03787ef857
rav1eenc: Use AtomicRefCell
instead of Mutex
for the state
...
It's only accessed from the streaming thread.
2022-02-14 14:36:50 +02:00
Sebastian Dröge
93bfa4d37a
rav1enc: Put container sequence header into the caps
2022-02-08 12:18:48 +02:00
Sebastian Dröge
22ae31bfcb
dav1ddec: Switch to dav1d 0.7
2022-02-07 16:06:03 +02:00
Sebastian Dröge
1b8ee90f83
rav1enc: Don't handle NeedMoreData
as "soft" error
2022-02-07 07:30:57 +00:00
Sebastian Dröge
d3d483d0b5
rav1enc: Simplify code
...
Sending a `None` frame is equivalent to calling `flush()` so no need to
do both.
2022-02-07 07:30:57 +00:00
Sebastian Dröge
7654567201
rav1enc: Set mastering display info, content light level and HDR related colorimetry
...
Configurable behind the "hdr" cargo feature that is enabled by default
but requires GStreamer 1.18.
2022-02-07 07:30:57 +00:00
Sebastian Dröge
1451e267cc
rav1enc: Expose various new settings
2022-02-07 07:30:57 +00:00
Sebastian Dröge
12f2b9282a
rav1enc: Switch from speed preset 5 to 6 as default
...
This is the default of rav1e nowadays.
2022-02-07 07:30:57 +00:00
Guillaume Desmottes
c879b4ee2e
cdg: update image and cdg_renderer
...
I pushed a cdg_renderer release using latest image.
2022-02-04 15:22:13 +01:00
Sebastian Dröge
858865b731
gtk4: Attach main context receiver from the main context's thread
...
Otherwise it will fail if the sink's state is changed from a different
thread.
See https://gitlab.freedesktop.org/dabrain34/GstPipelineStudio/-/issues/2
2022-02-04 13:51:31 +02:00
Sebastian Dröge
7c872bb92b
dav1ddec: Fix compilation after some API changes
2022-02-03 15:51:46 +02:00
Sebastian Dröge
cf46d9439b
dav1ddec: Add 8/16 bit grayscale support
2022-02-03 13:39:43 +02:00
Sebastian Dröge
240fa0b066
rav1enc: Support 8 bit grayscale input
2022-02-03 13:39:43 +02:00
Sebastian Dröge
5a4c8b9fc8
dav1ddec: Release input frames that immediately caused a decoding error
...
We're not going to get any output for them.
2022-02-03 11:04:57 +00:00
Sebastian Dröge
2c511fca50
dav1ddec: Require correct alignment and stream format when running with GStreamer 1.20
2022-02-03 11:04:57 +00:00
Sebastian Dröge
772fbaa073
rav1enc: Include stream-format and alignment in the caps
2022-02-03 11:04:57 +00:00
Sebastian Dröge
6ce3029e07
dav1ddec: Update for fixed dav1d-rs API
...
As a side effect this allows us also to handle errors more gracefully
and to reduce memory load by outputting decoded frames immediately.
Also the code was changed a bit to reduce the number of redundant mutex
lock/unlocks.
2022-02-03 11:04:57 +00:00
Sebastian Dröge
b795c0c392
dav1ddec: Clean up state tracking a bit
...
And especially don't keep a decoder instance around while in Null state.
2022-02-03 11:04:57 +00:00
Sebastian Dröge
6e28a17280
dav1ddec: Don't consider decoding errors as fatal
...
Instead use the `gst_video::video_decoder_error!` macro for allowing a
certain number of consecutive errors before actually failing.
2022-02-03 11:04:57 +00:00
Sebastian Dröge
c35d1cdc0c
dav1ddec: Pass element instance to debug logs
2022-02-03 11:04:57 +00:00
Julian Sparber
e419c18a87
gtk4: Implement Default for PaintableSink
2022-01-31 14:11:03 +00:00
Sebastian Dröge
42f9f99690
Update to parking_lot 0.12 and hrtf 0.8
2022-01-31 15:20:44 +02:00
Sebastian Dröge
f44b86cd30
Simplify some code around event/query views
2022-01-22 12:18:02 +02:00
Sebastian Dröge
65fcd55160
Update for event/message/query view API changes
2022-01-19 15:07:45 +02:00
Sebastian Dröge
763ad0cb18
Rename self_
variables to imp
for consistency
2022-01-17 20:09:18 +02:00
Sebastian Dröge
b2d0172422
Replace Foo::from_instance(foo)
with foo.imp()
2022-01-17 19:36:41 +02:00
Sebastian Dröge
51f8e963d6
Add SPDX-License-Identifier to all file headers
2022-01-15 21:18:47 +02:00
Sebastian Dröge
326449b3e6
Re-license LGPL-2.1 plugins to MPL-2
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/168
2022-01-15 21:05:11 +02:00
Sebastian Dröge
0c7764fa40
Update versions to 0.9.0
2022-01-15 20:33:49 +02:00
Sebastian Dröge
ab14c50d1c
Ignore clippy::non_send_fields_in_send_ty
lint
...
It's useless in its current shape and wrongly triggering on all types.
See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-14 12:09:57 +02:00
Sebastian Dröge
81f5f0f60c
Fix various clippy warnings
2022-01-12 19:51:08 +02:00
Mathieu Duponchelle
0bc7697600
sccenc: add output-padding property
...
When set to False, sccenc will only output non-padding byte pairs.
I cannot find reference documentation for the format, but the closest
thing I find to it is
http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/SCC_FORMAT.HTML ,
which doesn't have padding in the examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/635 >
2022-01-12 16:49:24 +00:00
Sanchayan Maity
a43e21a414
videofx: roundedcorners: Fix missing copyright attribution
2021-12-29 16:15:43 +00:00
Sebastian Dröge
3ed9e291c2
Update for decide/propose_allocation() API changes
2021-12-06 19:11:24 +02:00
Sebastian Dröge
66e987c174
Fix a couple of new clippy warnings
2021-12-02 22:31:52 +02:00
Sebastian Dröge
c46901d150
Fix or silence various new 1.57 clippy warnings
2021-11-30 16:31:50 +02:00
Sanchayan Maity
2c2cd8c2be
Implement rounded corners
...
This plugin takes I420/YUV and appends an alpha plane to give YUVA/A420
to round the corners analogous to the border-radius in CSS. Other video
formats like NV12 not supported yet. Support for other planar formats
will follow.
Not all ways of specifying border-radius as in CSS are implemented at
the moment. Currently, we only support specifying it in pixels and it
gets applied uniformly to all corners.
2021-11-22 17:04:07 +05:30
Sebastian Dröge
86f422592b
Update for glib::Enum
/ glib::Boxed
/ glib::flags!
macro renames
2021-11-22 11:04:26 +02:00
Sebastian Dröge
55aad51141
Update for glib constructor renames
...
See https://github.com/gtk-rs/gtk-rs-core/pull/384
2021-11-20 14:31:06 +02:00
Sebastian Dröge
288acaa7cc
cdg: Update test for child proxy property API changes
2021-11-20 10:47:02 +02:00
Sebastian Dröge
f817f6e9b9
Update to rav1e 0.5 and async-tungstenite 0.16
...
Also add an asm feature to rav1e, which requires nasm to be in place.
2021-11-17 10:10:00 +02:00
Mathieu Duponchelle
b738d5933d
tttojson: fix row computation
...
I hadn't really tested the element with pop-on mode, and the row
for each line in the input text was hardcoded to 13, which was
clearly wrong.
Switch to incrementing it properly.
2021-11-16 07:51:41 +00:00
Sebastian Dröge
e81047b8a2
cea608overlay: Fix compilation after Pango API changes
2021-11-13 12:33:55 +02:00
Mathieu Duponchelle
78d7cbd7dd
cea608overlay: expose timeout property
...
C.9 Automatic Caption Erasure (Preferred)
[...]
Some manufacturers have suggested building automatic timeout into their
decoders. They propose that if no data are received for the selected caption
channel within a given time, the decoder should automatically erase the
caption. Such erasure may supersede the intentions of the caption service
providers and institute one maximum display time for all captioning services.
If such a timeout is deemed necessary, however, the time limit should be no less
than 16 seconds, an amount of time said by caption service providers to be longer
than their most enduring caption. It is preferred, when automatic caption erasure
is used in a decoder, that only displayed memory be erased, since some caption
service providers may, contrary to recommended practice (see Section B.8.3), send
pop-on style caption data to non-displayed memory more than 16 seconds before
sending the EOC command which causes the caption to display.
2021-11-13 00:15:47 +01:00
Bilal Elmoussaoui
82be7b3ac5
adapt to ObjectExt improvements
2021-11-08 14:43:53 +02:00
Sebastian Dröge
d9bda62a47
Update for GLib/GStreamer API changes
...
And clean up a lot of related property/caps/structure code.
2021-11-06 09:34:10 +02:00
Sebastian Dröge
0a7d1639e7
Update to Rust edition 2021 and minimum supported Rust version to 1.56
2021-10-31 17:40:05 +02:00
Michael Farrell
5ae1f72162
cea608overlay: Update for multiple Pango API changes in gtk-rs-core#308
...
https://github.com/gtk-rs/gtk-rs-core/pull/308
2021-10-31 12:50:50 +02:00
Sebastian Dröge
da4122a721
closedcaption/mccenc: Update for glib::DateTime / TimeSpan API changes
2021-10-23 13:07:01 +03:00
Sebastian Dröge
b9541b2ca4
Update for GstObjectImpl API change
2021-10-23 12:31:33 +03:00
François Laignel
27b9f0d868
Improve usability thanks to opt-ops
...
The crate option-operations simplifies usage when dealing with
`Option`s, which is often the case with `ClockTime`.
2021-10-18 15:09:47 +02:00
Sebastian Dröge
70f0aa9758
gtk4: Add support for rendering overlay composition rectangles directly via GTK
2021-10-17 19:03:24 +00:00
Sebastian Dröge
c5d3a2efce
Update for event API changes
2021-10-17 17:30:38 +03:00
Sebastian Dröge
01a551f2ac
rav1enc/gifenc: Add VideoMeta to the supported metas in propose_allocation()
2021-10-16 16:21:49 +03:00
Sebastian Dröge
fe0075ad15
closedcaption/cea608overlay: Proxy the allocation query
2021-10-16 16:21:49 +03:00
Sebastian Dröge
cecacf5430
hsv: Port detecter/filter to VideoFilter base class
2021-10-16 16:21:49 +03:00
Sebastian Dröge
cf637d0288
gtk4: Add gst_video::VideoMeta to the allocation metas in propose_allocation()
2021-10-16 15:05:18 +03:00
Sebastian Dröge
d17c3483c1
video: Update for new decide_allocation() signature
2021-10-16 15:02:11 +03:00
Sebastian Dröge
6ec98ec5e4
Update to pretty-assertions 1.0
2021-10-14 10:20:19 +03:00
Bilal Elmoussaoui
30796fbe07
Add a GTK4 paintable sink plugin
...
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Co-authored-by: Jordan Petridis <jordan@centricular.com>
2021-10-13 12:28:51 +03:00
Sebastian Dröge
21e8c6dcd1
pngenc: Don't recreate the encoder after every frame
...
Version 0.17.2 of the encoder allows again to encode frame after frame
without creating a new encoder instance.
2021-10-09 12:14:37 +03:00
Jan Schmidt
3260651671
jsontovtt: Add an element for fragmented WebVTT
...
This element converts the CC JSON format to fragmented WebVTT.
Co-authored by Mathieu Duponchelle <mathieu@centricular.com>
2021-09-30 19:37:32 +00:00
Mathieu Duponchelle
bc587a09f8
cea608tojson: expose "unbuffered" property
...
In this mode, cues are output as soon as they are ready for
display, without a duration. This can be useful in live mode,
when downstream is OK with determining the duration after the
fact, through clear=True.
The consequence of this is that the current roll-up window will
be output repetitively, it is up to downstream to deal with that
how it prefers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/554 >
2021-09-30 17:05:01 +02:00
Mathieu Duponchelle
01cc9e23d8
transcriberbin: switch to passthrough on transcriber error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/569 >
2021-09-28 16:17:57 +00:00
Sebastian Dröge
ea2a313d01
ffv1dec: Add support for 4:1:0 and 4:1:1 YUV
2021-09-18 12:34:31 +03:00
Sebastian Dröge
2878e4ce7c
ffv1dec: Fix decoding of 4:4:4 / 4:4:4:4 / 4:2:2 / 4:4:2:2 YUV formats
2021-09-18 12:34:31 +03:00
Sebastian Dröge
600d217e7d
ffv1dec: Add support for >8 bit color formats
2021-09-18 12:34:31 +03:00
Sebastian Dröge
08229402cd
ffv1dec: Don't copy decoded memory if the strides are not matching but downstream supports video meta
2021-09-18 12:34:31 +03:00
Sebastian Dröge
fd1c0a7518
ffv1dec: Drop decoder state before calling VideoDecoder::negotiate()
...
It calls into other elements via the allocation query and the caps
event, which makes it dangerous to keep a mutex locked at the same time.
2021-09-18 12:34:31 +03:00
Sebastian Dröge
4c8c398aa4
dav1d: Don't configure a buffer pool and don't require one for videometa support
...
dav1d is allocating memory itself and we directly forward that without
using any downstream buffer pool.
2021-09-18 11:58:59 +03:00
Sebastian Dröge
f4613bfc07
Use Buffer::from_mut_slice() in more places
...
This allows downstream to map the memory mutable.
2021-09-18 11:58:59 +03:00
Sebastian Dröge
b9864acad6
ffv1: Lower minimum required GStreamer version to 1.12
2021-09-10 09:42:25 +03:00
Sebastian Dröge
c8fc082968
ffv1: Update version to 0.8.0 like elsewhere
2021-09-10 09:22:11 +03:00
Arun Raghavan
bb3949aeda
video: Add a new ffv1 decoder plugin
2021-09-10 06:20:31 +00:00
Sebastian Dröge
426dc4c54d
flavors: Update to nom 7
2021-09-09 06:41:49 +00:00
Sebastian Dröge
96d86eaa06
Clean up clippy warnings and CI configuration
...
Put clippy overrides into the sources files instead of the CI
configuration, and fix various warnings / clean up code.
2021-09-08 12:35:41 +00:00
Sebastian Dröge
434fe8e56f
closedcaption/mccenc: Fix unit test to not require changing the version number in the output every time
2021-09-03 09:12:25 +03:00
Mathieu Duponchelle
715418c005
tttocea608: don't erase display memory before loading new pop-on
...
There is no point to that, the code is already factored in such
a way that erase_display_memory is inserted at the correct time,
including while loading the next pop-on captions in non displayed
memory.
2021-09-02 00:21:24 +02:00
Sebastian Dröge
4a870af19c
Update various dependencies
2021-08-26 09:44:43 +03:00
Sebastian Dröge
848b296390
Add capi feature to all plugin crates
...
This fixes the build with cargo-c 0.9.2.
2021-08-11 20:51:36 +03:00
Mathieu Duponchelle
b7d1c178a3
tttocea608: clean up locking
...
Locking order of state and settings was inconsistent, and causing
deadlocks. Fix and document it, consistently drop locks before
chaining up events / pushing and avoid sequentially unlocking /
relocking settings in the same local code path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/539 >
2021-08-03 18:23:53 +02:00
Sebastian Dröge
052365ba1a
Fix various needless-borrow clippy warnings and others
2021-07-30 13:53:35 +03:00
Ruben Gonzalez
54d8c5f6a9
Delete minimum GStremer required version for some plugins
...
Tested building the pluging with cargo-c and running gst-inspect-1.0
in a Ubuntu Xenial 18.04 LTS. It contains GStreamer 1.8.3.
2021-07-20 21:49:24 +02:00
Mathieu Duponchelle
5397f4bfaf
transcriberbin: remove leftover debug dot dumps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/531 >
2021-07-15 23:24:29 +00:00
Sebastian Dröge
f733f90333
closedcaption/mccenc: Fix unit test
...
The expected output contains the plugin version.
2021-07-09 14:14:51 +03:00
Sebastian Dröge
24ec79cd1a
Update versions to 0.8.0 for the master branch
2021-07-09 13:49:33 +03:00
Sebastian Dröge
1c3ae0f89a
Update versions to 0.7.0
2021-07-09 13:49:21 +03:00
SeaDve
82df25694a
gifenc: Add property to configure speed
...
Fixes #157 .
2021-07-05 11:50:41 +03:00
Mathieu Duponchelle
3cdc5870a1
transcriberbin: new high-level bin for speech to Closed Caption
...
This new element puts together some of the elements we've written
in recent times (awstranscriber, tttocea608, textwrap, cccombiner)
into a convenience high-level element.
The design of the element is AV in -> AV (+ CC metas) out.
The element exposes property to set and unset a "passthrough" mode,
during which the transcriber element's state is set to NULL but kept
in the bin, in order for the user to be able to set properties on
sub elements no matter what the current mode is, using the
GstChildProxy interface.
In addition, the element ensures that the latency it reports stays
fixed so that playback continues uninterrupted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/528 >
2021-06-30 02:07:01 +02:00
Mathieu Duponchelle
23219c3c09
tttocea608: don't pad up to first input timestamp
...
When receiving data from a live upstream element, the first buffer
may have a non-0 timestamp (running time), and the element incorrectly
pushed padding buffers up to that timestamp, resulting in much confusion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/527 >
2021-06-25 23:26:30 +00:00
Mathieu Duponchelle
d6f6f1a777
cea608overlay: expose "black-background" property
...
As stated in the spec:
> In addition, the user must have the capability to select a black
> background over which the captioned letters are displaced.
The property is MUTABLE_PLAYING
2021-06-18 09:48:44 +00:00
François Laignel
5439f14e57
fix clippy warnings
2021-06-05 10:36:22 +02:00
François Laignel
e16cad7c8f
video: migrate to new ClockTime design
2021-06-05 10:36:21 +02:00
François Laignel
8dfc872544
use gst::glib where applicable
2021-06-03 20:53:16 +02:00
Blaxar Waldarax
e9f0a3b8ac
hsv: added support for more RGB and BGR formats to hsvdetector and hsvfilter
2021-05-18 07:00:14 +00:00
Sebastian Dröge
04a60b8f46
Update repository URL for gtk-rs "core" crates
2021-05-13 09:50:08 +03:00
Sebastian Dröge
f4a3881dcf
Fix new 1.52 clippy warnings
2021-05-05 12:13:16 +03:00
Sebastian Dröge
3d24f1da22
closedcaption/cea608overlay: Fix compilation with cairo API changes
2021-05-04 14:31:58 +03:00
Sebastian Dröge
8bda233d02
rav1e: Fix compilation after VideoColorRange::Range0255 got renamed to VideoColorRange::Range0_255
2021-05-01 10:49:36 +03:00
Sebastian Dröge
75959e8c63
cdgdec: Remove unneeded VideoDecoderExtManual import
2021-04-26 14:58:15 +03:00
Sebastian Dröge
15cf738616
Update for Value trait refactoring
2021-04-25 15:48:55 +03:00
Mathieu Duponchelle
7923e26545
tttocea608: implement word wrapping in roll-up modes.
...
In roll-up modes, we open new lines when the last column is reached.
This commit implements lookahead on a word basis, in order to avoid
splitting words unless absolutely necessary (when a word won't fit
on a full row)
2021-04-20 17:53:12 +00:00
François Laignel
95cdd43f4f
manual fixes remove get prefix round 2
2021-04-20 18:19:58 +02:00
François Laignel
67c5871957
fix-getters-calls 0.3.0 pass
2021-04-20 18:19:58 +02:00
François Laignel
27bc5c89ca
fix-getters-def 0.3.0 pass
2021-04-20 18:19:58 +02:00
Mathieu Duponchelle
61214b5788
tttocea608: only warn when we do drop characters
...
In roll-up mode, we drop out of the loop and warn when the 32nd
character is reached, the warning is unnecessary when there were
no characters left to loop on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/499 >
2021-04-16 21:16:46 +02:00
Mathieu Duponchelle
f95b5ee666
closedcaption/caption.c: fix deletion
...
Trying to write "" in order to erase characters in the caption
frame simply fails silently, the proper way to implement
delete_to_end_of_row and backspace was to memset the relevant
cells.
2021-04-15 14:35:22 +00:00
François Laignel
7d17f88941
post fix-getters manual updates
2021-04-13 17:24:20 +02:00
François Laignel
06accc8d98
fix-getters-{def,calls} pass
2021-04-12 15:57:19 +02:00
Seungha Yang
3dda2aebe9
closedcaption: Fix build with MSVC
...
Undefined ssize_t is used in eia608.h file as well
2021-04-01 05:13:24 +00:00
Sebastian Dröge
bb8931c39b
closedcaption: Don't needlessly create a full-range subslice of a slice
2021-03-25 22:59:14 +02:00
Sebastian Dröge
3a9a937bfd
Add license files to all new plugins
2021-03-22 20:10:29 +02:00
Mathieu Duponchelle
d9e727050c
video: implement webp decoder around libwebp-sys2 crate
...
Unlike webpdec from -bad, this element inherits from GstElement
and can decode animated webp data.
2021-03-20 10:53:20 +02:00
Mathieu Duponchelle
a500166082
cea608overlay: remove debug prints
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480 >
2021-03-17 14:22:00 +01:00
Mathieu Duponchelle
0335893559
closedcaption: implement cea608tojson element
...
This element outputs the same format expected by tttocea608 in
json mode.
It notably differs from cea608tott in that it only uses libcaption's
low-level API, as it needs to maintain its own view of the current
state of the screen, and make fine-grained decisions as to when
to output data and how to timestamp it.
It covers a large portion of the 608 spec, with the exception of
a few features that probably haven't ever seen widespread usage,
those are listed in a TODO list at the top.
It has been tested with a reference file produced by CEA and covers
all the features it demonstrates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480 >
2021-03-17 14:22:00 +01:00
Mathieu Duponchelle
11238579a5
tttocea608: pad immediately for the duration of the input buffer
...
Pushing the pending padding once we receive the following gap
or buffer means we will push it too late otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480 >
2021-03-12 11:20:44 +01:00
Sebastian Dröge
2cada57efc
Update for the subclassing glib/gstreamer bindings API changes
2021-03-09 17:07:13 +02:00
Sebastian Dröge
aa354058f5
Update pretty-assertions to 0.7, async-tungstenite to 0.13 and num-rational to 0.4
...
Also get rid of the funty workaround as nom now depends on the right
version.
2021-03-09 11:42:33 +02:00
Sebastian Dröge
dc0c5f7611
Update for new #[glib::object_subclass] attribute macro
2021-03-07 18:27:00 +02:00
Mathieu Duponchelle
a7df50e68f
ccdetect: fix 608 detection
...
When cc_type is 00 or 01 the CC is 608 data, the last bit only
denotes the field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
cc402f769c
cea608overlay: support all VideoCaptionType meta
...
Also expose a field property, to allow selecting CC for a
specific field when the information is available. Defaults
to automatically picking the first field encountered.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
3c982a3de0
ccdetect: extract CDP parser to a separate module
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
19611f0ebe
tttocea608: be more conservative when inserting spaces
...
We don't need to insert a space when starting a new line,
or before punctuation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
20607fe346
tttocea608: expose origin-column and origin-row properties
...
These can be controlled more precisely using json as the input
format, but exposing them as properties is still useful when
the input format is text.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
126df546c0
tttocea608: make mode property mutable in PLAYING
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Sebastian Dröge
1cd5d5ef45
Temporarily depend on funty 1.1.0 to work around breakage in 1.2.0
...
See https://github.com/myrrlyn/funty/issues/3
2021-02-14 11:07:26 +02:00
Sebastian Dröge
cbda137fbf
Fix various warnings from clippy 1.50
2021-02-09 18:57:34 +02:00