Sebastian Dröge
e3f645af19
fmp4mux: Don't overflow negative composition offset calculation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/982 >
2022-11-19 19:24:04 +02:00
Sebastian Dröge
fd910cb828
fmp4mux: For video with N/1001 framerates use N as timescale
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3049
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/981 >
2022-11-18 16:07:11 +02:00
Sebastian Dröge
c553ac7402
fmp4mux: Re-work buffer dequeueing and calculations of timestamps
...
Especially simplify calculation of ONVIF UTC times. As a side-effect
this reduces the number of times the running times of a buffer are
calculated, and also causes streams to be interleaved correctly in ONVIF
mode if there is a non-constant UTC-to-running-time difference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979 >
2022-11-18 15:00:00 +02:00
Sebastian Dröge
f062b7cf0d
fmp4mux: Make media/trak timescales configurable
...
And refactor a bit of code for easier extensibility.
2022-11-07 18:06:29 +00:00
Sebastian Dröge
7ac29827d2
fmp4mux: Don't allow VP9 for CMAF
...
This would require setting the correct compatible band for VP9 in CMAF,
which is not implemented yet.
2022-11-03 16:53:01 +02:00
Sebastian Dröge
6706f3a4b4
fmp4mux: Add initial Opus support
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/239
2022-11-03 16:53:01 +02:00
Sebastian Dröge
a8250abbf1
Fix various new clippy warnings
2022-11-01 10:27:48 +02:00
Sebastian Dröge
31d4ba2eae
fmp4mux: For VP9, write resolution into the tkhd and include a stss box to signal that not all frames are sync samples
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/957 >
2022-10-31 15:20:19 +02:00
Sebastian Dröge
7106b0484d
fmp4mux: Remove unused uuid dependency
2022-10-28 12:45:42 +03:00
Sebastian Dröge
938f4e4f1c
fmp4mux: Clip negative PTS to zero/last PTS instead of erroring out
...
This can happen at the beginning of a stream if upstream is
rtpjitterbuffer and it has problems figuring out timestamps in the
beginning due to resetting / skew.
2022-10-27 14:47:16 +03:00
Sebastian Dröge
627bf756b1
fmp4mux: Send force-keyunit events for now if the ideal position has already passed
2022-10-27 12:53:09 +03:00
Sebastian Dröge
a56435801d
fmp4mux: Add debug log when writing the mfra box
2022-10-26 17:22:20 +00:00
Sebastian Dröge
27fac33c44
fmp4mux: Reset timing infos to None if a stream only contained gap events for a whole fragment
2022-10-26 17:22:20 +00:00
Sebastian Dröge
cab4cd3b8c
fmp4mux: If a stream is longer than the main stream at EOS, simply include all of its buffers in the last fragment nonetheless
2022-10-26 17:22:20 +00:00
Matthew Waters
d067fb2ec8
fmp4mux: don't require dts for predictive-only formats like vp9
2022-10-26 11:42:13 +00:00
Matthew Waters
8c8384c711
fmp4: add support for muxing VP9 streams in cmaf, dash and iso fmp4
...
As specified in https://www.webmproject.org/vp9/mp4/
2022-10-25 18:33:42 +11:00
Sebastian Dröge
f2223cf2cb
Update versions to 0.10.0-alpha.1
2022-10-24 19:31:19 +03:00
Sebastian Dröge
9a68f6e221
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:08:46 +03:00
François Laignel
86776be58c
Remove &
for obj
in log macros
...
This is no longer necessary.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1137
2022-10-23 21:22:31 +02:00
Sebastian Dröge
211cd095d6
Add new mux subdirectory for container formats
...
Contains the (incomplete) flavors FLV demuxer and the fragmented MP4
muxer for now.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/173
2022-10-23 20:25:08 +03:00