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

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mux
AgeCommit message (Collapse)Author
2023-12-22Fix a few new clippy 1.75 warningsSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1415>
2023-12-17Update for `Buffer` / `Memory` API changesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1409>
2023-12-04use new debug and parse APIGuillaume Desmottes
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-11-02Update for `gst::Rank` API changesSebastian Dröge
2023-10-24Update to quick-xml 0.31Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1368>
2023-10-17Clean up usage of pad probesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361>
2023-10-04fmp4mux: specify the fragment duration unitStéphane Cerveau
The fragment duration is expressed in nanoseconds. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1348>
2023-09-04fmp4mux: Update to dash-mpd 0.14Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1318>
2023-08-10Update versions to 0.12.0-alpha.1Sebastian Dröge
2023-08-09Don't generate .def files for pluginsSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/389 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1299>
2023-08-07Update a couple of dependenciesSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1294>
2023-07-19Update minimum supported Rust version to 1.70Sebastian Dröge
gtk-rs will update soonish too. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1280>
2023-07-19fmp4mux: Update to dash-mpd 0.12Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1280>
2023-07-18fmp4mux: Fix draining in chunk mode if keyframes are too lateSebastian Dröge
We would create another chunk that ends after the fragment end, and would from then on consider the stream always filled for the chunk because it starts after the current fragment end (i.e. nothing would go into this fragment). This is obviously wrong because the actual fragment end moved further ahead because of the additional chunk. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1277>
2023-07-10fmp4: Update to dash-mpd 0.11Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1271>
2023-07-06Use re-exported once_cellBilal Elmoussaoui
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268>
2023-06-26fmp4: Update to dash-mpd 0.10 for the exampleSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1260>
2023-06-19mp4, fmp4: fix byte order for opus extensionFrançois Laignel
The "Encapsulation of Opus in ISO Base Media File Format" [1] specifications, § 4.3.2 Opus Specific Box, indicates that data must be stored as big-endian. In `write_dops`, `to_le_bytes` variants were used. Related to [2]. [1] https://opus-codec.org/docs/opus_in_isobmff.html#4.3.2 [2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4875 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1247>
2023-06-15fmp4mux: Update to quick-xml 0.29Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1243>
2023-06-01fmp4mux: Don't wait for more data if a stream has no GOP starting before ↵Sebastian Dröge
fragment end Simply don't output anything for this stream and only include it in the future. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1229>
2023-06-01fmp4mux: Consider a stream filled if the earliest GOP starts after the ↵Sebastian Dröge
current chunk There's not going to be any buffer to output for this stream in the current chunk. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1229>
2023-05-23Revert "fmp4: Return a running time in get_next_time()"Arun Raghavan
This reverts commit 04bb7b4db0fcf84283c07297b1577dd97564a0f9. As Sebastian points out, the chunk PTS is already in running time, so this was wrong from the start. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/363 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1219>
2023-05-12use Pad builders for optional name definitionFrançois Laignel
Also, apply auto-naming in the following cases * When building from a non wildcard-named template, the name of the template is automatically assigned to the Pad. User can override with a specific name by calling `name()` on the `PadBuilder`. * When building with a target and no name was provided via the above, the GhostPad is named after the target. See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/448 Auto-naming discussion: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255#note_1891181 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1197>
2023-05-12fmp4: examples: Update to dash-mpd 0.9Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1210>
2023-05-10fmp4: Use updated start_pts when checking stream filledAntonio Kevo
After calculating the earliest pts, the fragment_start_pts and chunk_start_pts in State are updated. However, when checking if the stream is filled, the previous start_pts (set to None) is used instead. This means that chunk_filled and fragment_filled will be false the first time aggregate() is called, assuming timeout is false, all_eos is false, and the sinkpad is not EOS. This requires aggregate() having to be called a second time before the first fragment is sent. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1207>
2023-04-27fmp4: define minBufferTime in example mpdGuillaume Desmottes
Required to validate the manifest with https://beta.conformance.dashif.org/ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1196>
2023-04-25fmp4: Update example to dash-mpd 0.8Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1193>
2023-04-13fmp4: dash_vod example: reformatGuillaume Desmottes
Not sure why rustfmt updated those because of my previous change. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1177>
2023-04-13fmp4: dash_vod example: use dash-mpd to generate the manifestGuillaume Desmottes
Maybe a bit overkill for such simple example but more exemplary for actual applications. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1177>
2023-04-04git: 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/1157>
2023-03-12fmp4mux: fix hls_live exampleJosef Kolář
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1134>
2023-03-10fmp4: 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/1127>
2023-03-09Update for `gst::Element::link_many()` and related API generalizationSebastian Dröge
Specifically, get rid of now unneeded `&`.
2023-02-20Update minimum supported Rust version to 1.66Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1096>
2023-02-15mp4mux: Ignore framerate updateSeungha Yang
like mp4mux in -good does already Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1094>
2023-02-15fmp4mux: Ignore framerate updateSeungha Yang
like mp4mux in -good does already Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1094>
2023-02-10Update versions to 0.11.0-alpha.1Sebastian 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>