Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mux
AgeCommit message (Collapse)Author
2023-05-09Update version to 0.10.7Sebastian Dröge
2023-04-06Update versions to 0.10.6Sebastian Dröge
2023-04-05git: replace LICENSE file symlinks with copiesTim-Philipp Müller
Git will de-duplicate the contents for us anyway, and symlinks can cause problems with some versions of git and also on Windows. https://github.com/mesonbuild/meson/issues/11646 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1160>
2023-03-19Update versions to 0.10.50.10.5Sebastian Dröge
2023-03-14Update versions to 0.10.4Sebastian Dröge
2023-03-14fmp4mux: fix hls_live exampleJosef Kolář
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1129>
2023-03-14fmp4: Return a running time in get_next_time()Arun Raghavan
We were currently returning a value based on the next chunk PTS, but the expectation in GstAggregator is that we return a running time. This resulted in spurious wakeups and warnings like: 0:00:01.501685123 1552995 0x55899715c1e0 WARN fmp4mux mux/fmp4/src/fmp4mux/imp.rs:1818:gstfmp4::fmp4mux::imp::FMP4Mux::drain_buffers:<fmp4mux0:sink_1> Don't have a complete GOP for the first stream on timeout in a live pipeline Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1129>
2023-03-02Update versions to 0.10.3Sebastian Dröge
2023-02-23Update versions to 0.10.2Sebastian Dröge
2023-02-21mp4mux: Ignore framerate updateSeungha Yang
like mp4mux in -good does already Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1097>
2023-02-21fmp4mux: Ignore framerate updateSeungha Yang
like mp4mux in -good does already Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1097>
2023-02-13Update versions to 0.10.1Sebastian Dröge
2023-02-10Add versions to local dependenciesSebastian Dröge
2023-02-10Update to gtk-rs-core 0.17, gtk4-rs 0.6 and gstreamer-rs 0.20 branchesSebastian Dröge
2023-02-10Update versions to 0.10.0Sebastian Dröge
2023-02-09fmp4mux: Pass one more buffer in test_buffer_multi_stream_short_gops testSebastian Dröge
This works around non-determinism in aggregator where depending on timing it can happen that it consumes all buffers from both pads or waits for another buffer on one pad while the other one already has one. The effect in this test was that it sometimes timed out. By providing one more buffer it is guaranteed now that at this point the muxer is beyond the end of the first fragment. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1081>
2023-02-09fmp4mux: Accept more data on already filled streams if the remaining streams ↵Sebastian Dröge
need more data for finishing a GOP In other words, continue queueing buffers in sync from all streams until all of them are ready for draining instead of stopping to queue buffers on every stream that is already filled individually. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/310 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1081>
2023-02-06fmp4mux: Handle GOPs ending after the desired fragment end correctlySebastian Dröge
Either create further chunks if enough data is queued or simply start the new fragment at a later time if the keyframe is later. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1077>
2023-02-04mp4: Add support for AV1Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1075>
2023-02-04fmp4: Add support for AV1Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1075>
2023-02-04fmp4: Add support for VP8Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1075>
2023-02-04mp4: Add support for VP8Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1075>
2023-02-01fmp4mux: Fix a couple of assertions by handling these cases cleanerSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1071>
2023-01-30fmp4mux: Refactor and clean up codeSebastian Dröge
Split many longer functions into multiple functions and simplify various parts. Overall this is functionally still the same as before. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1068>
2023-01-27fmp4mux: Add support for sub-fragments / chunkingSebastian Dröge
Allow outputting sub-fragments (chunks in CMAF terms) that are shorter than the fragment duration and don't usually start on a keyframe. By this the buffering requirements of the element is reduced to one chunk duration, as is the latency. This is used for formats like low-latency / LL-HLS and DASH. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1059>
2023-01-25fmp4mux: add 'offset-to-zero' propertyGuillaume Desmottes
Add it only to 'isofmp4mux', the onvif variant already does this and CMAF and DASH are always single-stream so you rely on inter-container synchronization via the running-time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1063>
2023-01-25Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1062>
2023-01-24fmp4mux: Don't write the first sample flags into any trun but the firstSebastian Dröge
The flags are based on the first sample of this fragment so writing it into any trun but the first is not very useful. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1060>
2023-01-24fmp4mux: Fix decision whether per-sample flags are needed in the trunSebastian Dröge
Previously it would never use per-sample flags if any later sample needed different flags than the first two. Also comment the code a bit better. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1060>
2023-01-21Update for glib API changesSebastian Dröge
2023-01-15Update for caps/structure-related string API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1048>
2023-01-06fmp4mux: Remove obsolete commentSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1037>
2023-01-02fmp4: Fix compilation after `glib::List` API changesSebastian Dröge
2022-12-22fmp4mux: Only push fragment_offset if write_mfra is trueJohan Bjäreholt
This is done so that the fragment_offset vector does not infinitely build up when write_mfra is disabled. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1023>
2022-12-16fmp4mux: Skip gap buffers earlier to consider them for the sample durations ↵Sebastian Dröge
and fragment start durations Otherwise dropping the gap buffers would offset the timestamps of following samples. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1016>
2022-12-16mp4mux: Adjust durations and possibly stream start time on encountering a ↵Sebastian Dröge
gap buffer If there was a previous sample in this stream then its duration needs to be extended by the gap position, and if there was none then the start time of the whole stream has to be shifted by the duration. Not doing so causes timestamps to be offset wrongly by the duration of the gap. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1015>
2022-12-15mp4mux: Fix edit list shift for streams with initial DTS smaller earliest ↵Sebastian Dröge
PTS but initial DTS positive This would be a stream where the initial DTS is negative if the initial PTS was zero, but it is offset so the initial DTS became positive now. The edit list shift has to happen exactly the same way though. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1014>
2022-12-15mp4mux: Don't write gap edit lists if their duration would be zeroSebastian Dröge
The track might start later than the earliest track by less than one timescale units, in which case writing an empty gap edit list would be useless and confusing. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1014>
2022-12-15mp4mux: Don't write empty chunks at the end if the last buffer of a stream ↵Sebastian Dröge
started a new chunk and happened to be a from a gap event Empty chunks are not valid in MP4. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1014>
2022-12-13Fix various new clippy warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1011>
2022-12-03fmp4mux: Crank clock for the first fragment in more testsSebastian Dröge
Due to how aggregator works, it depends on how buffers are pulled whether aggregate() is called again or it is waiting for a timeout or EOS: works: - pad 1: 4 buffers, pad 2: 4 buffers - aggregate ready: take all 4/4 buffers - pad 1: 1 buffers, pad 2: 1 buffer - aggregate ready: take all 1/1 buffers waits: - pad 1: 5 buffers, pad 2: 4 buffers - aggregate ready: take all 5/4 buffers - pad 1: 0 buffers, pad 2: 1 buffer - aggregate not ready: waiting for timeout or EOS Also don't manually set the clock time as that's unnecessary. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/274 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/998>
2022-11-29mux/{mp4, fmp4}: Hard depend on feature v1_18Jordan Petridis
Else --no-default-features was failing to compile. v1_18 is needed to for the aggregator code. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588>
2022-11-22fmp4mux: examples: Avoid unnecessary caps copiesSebastian Dröge
2022-11-19fmp4mux: Handle EOS correctly if it happens before a fragment start time was ↵Sebastian Dröge
determined Whatever earliest time we have at that point is going to be the start time. Also handle the case correctly where all inputs are EOS before any buffers were received at all. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/270 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/982>
2022-11-19fmp4mux: Don't overflow negative composition offset calculationSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/982>
2022-11-18mp4mux: For video with N/1001 framerates use N as timescaleSebastian Dröge
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-18fmp4mux: For video with N/1001 framerates use N as timescaleSebastian Dröge
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-18fmp4mux: Re-work buffer dequeueing and calculations of timestampsSebastian Dröge
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-18mp4mux: Make use of `i64::TryFrom<gst::Signed<u64>>` implSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979>
2022-11-18mp4mux: Factor out running time to UTC time calculation into a functionSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979>