Sebastian Dröge
6edb188899
fmp4mux: Fix usage of first_sample_flags/default_sample_flags
...
Previously first_sample_flags was never used so if the first sample was
a keyframe and all others not then each sample got its own flags.
2022-06-30 16:35:56 +03:00
Sebastian Dröge
51c7d0652e
Fix/silence a couple new clippy warnings
2022-06-30 16:07:32 +03:00
Sebastian Dröge
d6fa921822
fmp4mux: Use saturing_sub() in more places
...
On unclean input, PTS/DTS might go backwards a bit and in those cases
calculate a duration of 0 instead of panicking.
2022-05-20 15:03:06 +03:00
Sebastian Dröge
6bca5a9962
fmp4mux: Implement interleaving based on start timestamps instead of accumulated durations
...
Durations might accumulate rounding errors and streams might not
actually start at the same time. For that reason also start with the
stream that has the lowest timestamp.
2022-05-20 15:03:06 +03:00
Sebastian Dröge
d7bd4c1c93
fmp4mux: Implement handling of GAP events
2022-05-20 15:03:04 +03:00
Sebastian Dröge
987e4efc02
fmp4mux: In live pipelines use the current fragment end time as timeout
...
This allows muxing even if some streams are sparse or have big gaps.
2022-05-20 15:02:46 +03:00
Sebastian Dröge
ffea0e2d2d
fmp4mux: Add support for ONVIF timed XML metadata
2022-05-19 17:55:07 +03:00
Sebastian Dröge
e4634ca2fe
fmp4mux: Add ONVIF variant with support for additional codecs
...
This variant supports H264/5, JPEG, alaw, mulaw and G726.
2022-05-19 17:55:07 +03:00
Sebastian Dröge
0206178279
fmp4mux: Check for force-keyunit events on both pads in the multistream test
2022-05-19 17:55:07 +03:00
Sebastian Dröge
4bc0ae09fa
fmp4mux: Use saturing subtraction to calculate sample durations
...
PTS/DTS might go backwards if the input is borderline broken but that
shouldn't cause a panic.
2022-05-13 10:54:23 +00:00
Sebastian Dröge
cfb59100d6
fmp4mux: Add test for muxing of multiple streams
2022-05-12 18:31:02 +03:00
Sebastian Dröge
e06665b92d
fmp4mux: Add support for multiple input streams
2022-05-12 18:31:02 +03:00
Sebastian Dröge
31a32a7e2e
fmp4mux: Add support for writing out multiple tracks in the serialization code
...
Not yet exposed from the element.
2022-05-12 18:31:02 +03:00
Sebastian Dröge
c09b7b9e41
fmp4mux: Port to aggregator as base class as preparation for supporting multiple streams
2022-05-12 18:31:02 +03:00
Sebastian Dröge
23cc00ce4b
fmp4mux: Write sample flags in tfhd
if there's only a single sample
...
Instead of declaring them to be in the `tfhd` but not writing them into
the `tfhd` but also not the `trun`.
2022-05-12 18:31:02 +03:00
Julien Vary
f908cbaffd
fmp4mux: adding headers when data resumes after EOS
2022-04-28 11:39:55 -04:00
Sebastian Dröge
9e3f713aa9
Update to m3u8-rs 4.0
2022-04-14 07:41:18 +00:00
Vivia Nikolaidou
b5a3a99825
m3u8-rs: Depend on version exactly 3.0.0
...
https://github.com/rutgersc/m3u8-rs/pull/46#issuecomment-1094867533
2022-04-11 13:22:44 +03:00
Sebastian Dröge
803e452889
Update minimum supported GStreamer version to 1.14
2022-04-07 12:41:54 +03:00
Mathieu Duponchelle
526f34d98b
fmp4mux: HLS live example
...
Producing two audio playlists, a video playlist and a super
manifest, and implementing basic trimming of old segments.
2022-03-02 10:01:38 +00:00
Mathieu Duponchelle
35d9247487
fmp4mux: HLS VOD example
...
Producing two audio playlists, a video playlist and a super
manifest
2022-03-02 10:01:38 +00: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
65fcd55160
Update for event/message/query view API changes
2022-01-19 15:07:45 +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
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
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
e3fbf2078d
Add new fmp4 plugin with muxers for ISO fragmented MP4, DASH and CMAF containers
2021-11-15 14:04:03 +02:00