Jochen Henneberg
be6074f4f4
fmp4mux: Fix state cleanup on flush
...
State cleanup was incomplete. If a flush happens we do not have any
buffers anymore so all buffer queue related settings must be cleared
on the state. Flush action has been moved into state impl.
The GstAggregatorPad flush() was implemented as well as the pad flush
handler - with different implementations. Unify it.
Fixes #636
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1945 >
2024-12-04 11:12:55 +00:00
Sebastian Dröge
6aeb3f2af2
Fix / silence various new Rust 1.83 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954 >
2024-11-30 14:57:24 +02:00
Sebastian Dröge
347bee16d4
Update for GLib signal API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1936 >
2024-11-22 15:52:41 +02:00
Jochen Henneberg
28a200be30
fmp4mux: Fixed comment and removed commented code from test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1921 >
2024-11-18 09:52:23 +00:00
Jochen Henneberg
08c026cea6
fmp4mux: Accept tag updates before stream starts
...
Tag updates should be done if either the tag is set before the stream
started or if tag changes are allowed while the stream is already
running.
Fixes #629
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1921 >
2024-11-18 09:52:23 +00:00
Jochen Henneberg
580e06a002
fmp4mux: Let test consume remaining buffers after EOS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1914 >
2024-11-13 13:35:56 +01:00
Jochen Henneberg
b95f39f4bf
fmp4mux: Avoid error on caps change with incomplete GOP pushed
...
New fragments may accept inter-frames if an incomplete GOP has been
pushed after a caps change and upstream did not handle the
force-key-unit event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1914 >
2024-11-13 10:25:58 +01:00
Jochen Henneberg
26a6c3b7b9
fmp4mux: Fixed caps change handling for multiple streams
...
* Moved FKU code into separate function.
* Send FKU for each stream where the caps change happened.
* Send FKU for each stream where an incomplete GOP has been pushed on
caps change.
* Push incomplete GOP from stream if the early fragment end would not
contain that stream otherwise.
* If an incomplete GOP has been pushed on the previous fragment accept
inter-frames on the next fragment and do not drop them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1895 >
2024-11-07 14:35:09 +00:00
Sebastian Dröge
98a87fb8f2
Update to quick-xml 0.37
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1891 >
2024-10-28 09:12:13 +00:00
Sebastian Dröge
f73317510e
Update to quick-xml 0.36
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1881 >
2024-10-24 10:09:18 +03:00
Sebastian Dröge
4abc5c7a48
Be stricter with Impl-trait bounds to enforce type hierarchies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1871 >
2024-10-22 13:43:12 +00:00
Sebastian Dröge
7e59c3f0fd
Remove once_cell dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1868 >
2024-10-21 17:53:18 +00:00
Sebastian Dröge
33becb9246
fmp4mux: Remove unreachable case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864 >
2024-10-20 19:53:15 +00:00
Thibault Saunier
50a48f4b85
mp4mux: Add support for edit lists
...
So we properly handle audio priming
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1434 >
2024-10-18 12:33:43 +00:00
Thibault Saunier
e630aab769
fmp4mux: Add support to write edts to handle audio priming
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1434 >
2024-10-18 12:33:43 +00:00
Guillaume Desmottes
bd7b94e305
fmp4: use the right DEFAULT constant
...
Does not really matter as both have the same value but best to have it
right.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1799 >
2024-09-23 12:48:42 +00:00
Jochen Henneberg
8313260e09
fmp4mux: Renamed caps_change_allowed() to header_update_allowed()
...
Because tag events like orientation and language require a header
update as well.
For proper logging the function now takes a reason parameter and logs
a debug message in case the header update is allowed.
And added some explanation to the function to make sure that it is
used in the right place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
c0f3eff18e
fmp4mux: Renamed caps_changed to need_new_header
...
Because the header update is needed in case of language code or
orientation changes as well that come with tag events.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
1be92c4b86
fmp4mux: Added tests for caps change feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
0c8b84d8a8
fmp4mux: Send new fragment with header in case of caps change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Jochen Henneberg
4d71525eee
fmp4mux: Simplified EOS detect logic
...
The all_eos cannot be set without having sinkpad.is_eos(). Thus
all_eos || sinkpad.is_eos() == sinkpad.is_eos().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1762 >
2024-09-23 11:52:18 +00:00
Guillaume Desmottes
431adaa2f9
fmp4: examples: hls_live: don't set header-update-mode=update
...
No need to update the header in live mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1798 >
2024-09-23 12:24:22 +02:00
Jendrik Weise
1ff761e410
fmp4: Add tests for split-at-running-time signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1761 >
2024-09-20 12:35:24 +03:00
Jendrik Weise
d5a9c7a940
fmp4: Add split-at-running-time signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1761 >
2024-09-20 12:35:24 +03:00
Sebastian Dröge
52895223a8
fmp4: Update to dash-mpd 0.17
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757 >
2024-08-27 21:02:43 +03:00
Piotr Brzeziński
798936afc9
cmafmux: Add send-headers signal
...
Forces cmafmux to output headers for the init segment again, alongside the next chunk.
Needed for hlscmafsink to support changing output paths on the fly, without going back to READY.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1692 >
2024-08-22 02:06:51 +00:00
Piotr Brzeziński
ad0a23fee7
cmafmux: Add opus support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1692 >
2024-08-22 02:06:51 +00:00
Sebastian Dröge
ec38d416aa
fmp4mux: Remove _ prefix of actually used parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1694 >
2024-08-07 11:16:51 +03:00
Sebastian Dröge
9006a47e9b
mp4mux: added image orientation tag support
...
Based on a patch by sergey radionov <rsatom@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1694 >
2024-08-07 11:16:25 +03:00
sergey radionov
fdfa3a33d9
fmp4mux: added image orientation tag support
...
fix #565
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1669 >
2024-07-16 18:49:07 +07:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
9b323a6519
Use Option::is_some_and(...)
instead of Option::map_or(false, ...)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1630 >
2024-06-19 13:03:37 +00:00
Sebastian Dröge
f68655b5e2
Update for gst::BufferList
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1610 >
2024-06-08 09:58:10 +03:00
Mathieu Duponchelle
c282bc1bca
examples/dash_vod: compare durations to the millisecond
...
Otherwise when the segment durations aren't as clean cut as in the
example, multiple segments with the exact same duration in milliseconds
will get output, even though they could have been repeated.
Fix this so that people copying this code don't encounter the bug.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1574 >
2024-05-15 06:28:14 +00:00
Rafael Caricio
5549dc7a15
fmp4mux: Support AV1 packaging in the fragmented mp4 plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1544 >
2024-05-10 20:59:49 +00:00
7d75e263f8
fmp4mux: Add language from tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1557 >
2024-05-10 13:01:58 +00:00
Sebastian Dröge
be3ae583bc
Fix new Rust 1.78 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1559 >
2024-05-02 18:36:23 +03:00
Simonas Kazlauskas
5d939498f1
mp4/fmp4: support flac inside the iso (f)mp4 container
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1401 >
2024-04-09 14:37:05 +03:00
Sebastian Dröge
921938fd20
fmp4mux: Require gstreamer-pbutils 1.20 for the examples
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1530 >
2024-04-06 11:10:58 +03:00
Sebastian Dröge
0aabbb3186
fmp4: Update to dash-mpd 0.16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1523 >
2024-03-31 09:36:53 +03:00
Sebastian Dröge
2b9272c7eb
fmp4mux: Move away from deprecated chrono function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1503 >
2024-03-20 15:37:18 +02:00
Sebastian Dröge
b9195ed309
fmp4mux: Update to dash-mpd 0.15
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1474 >
2024-02-26 11:14:01 +02:00
Bilal Elmoussaoui
d25a222bf9
Drop direct muldiv dependency
...
It is re-exproted in gstreamer's prelude
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1446 >
2024-02-05 15:34:31 +01:00
Bilal Elmoussaoui
0615a16124
Use workspace features for crates metadata/deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1446 >
2024-02-05 15:34:31 +01:00
Sebastian Dröge
1a55c70114
Switch git dependencies to explicitly name branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1445 >
2024-02-05 12:51:36 +02:00
Sebastian Dröge
4ad101b53b
Use once_cell crate directly again
...
The glib crate does not depend on it anymore and also does not re-export
it anymore.
Also switch some usages of OnceCell to OnceLock from std.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1441 >
2024-01-31 18:07:57 +02:00
Sebastian Dröge
1ef47cb48e
Fix a few new clippy 1.75 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1415 >
2023-12-22 16:40:18 +02:00
Sebastian Dröge
763739e3ae
Update for Buffer
/ Memory
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1409 >
2023-12-17 14:07:12 +02:00
Guillaume Desmottes
6dfd1c1496
use new debug and parse API
...
Changes from https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1403 >
2023-12-04 15:58:21 +01:00
Sebastian Dröge
16b917abb1
Update for gst::Rank
API changes
2023-11-02 14:10:59 +02:00