Sebastian Dröge
ba70293d2b
fmp4: Update to dash-mpd 0.18
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:04:35 +02:00
Jochen Henneberg
0d42ed9a57
fmp4mux: Only set TKHD transformation, precedence for stream scope
...
Instead of trying to figure out which global tag is meant to go into
the MVHD or such the solution now is to set the MVHD matrix to
identity and only set the TKHD matrix to either stream scope matrix if
available or global matrix (which is always available, maybe as
identity).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
58ee9e2b9f
fmp4mux: Fixed logging for unsupported orientation tags
...
Fmp4mux State and Stream structs now store matrix references instead
of orientation enum.
The TransformMatrix is wrapped into a struct for Default trait which
is needed by struct State.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
aeb37c5ab1
fmp4mux: Added mut_ prefix for stream_from_pad()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
57f24efc62
fmp4mux: Log on unsupported orientation enums
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
7dea11f626
fmp4mux: Language and orientation are stream tags
...
The language tag is purely a stream specific tag and the orientation
tag can be both, stream or global scope at the same time.
Language tags in global scope are considered to be stream scope and
orientation tags set either the mvhd box transformation matrix if
global scope or tkhd if stream scope.
And switched to GStreamer API for image orientation tag storage and
handling and added the flip transformations.
Fixes #631
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Sebastian Dröge
7b4665c793
Fix some new clippy 1.84 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2032 >
2025-01-10 10:08:38 +02:00
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