Peter Stensson
06d4629521
codectimestamper: Fix gint wraparound in pts_compare_func
...
The diff between compared timestamps might be outside the gint range
resulting in wrong sorting results. This patch corrects that by
comparing the timestamps and then returning -1, 0 or 1 depending on the
result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7726 >
2024-10-25 01:49:10 +00:00
Mathieu Duponchelle
deed29732b
codectimestamper: never set DTS to NONE
...
If we want to avoid the DTS going backward, then we can set DTS to
last_dts as a last resort.
Log a warning in this case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6977 >
2024-06-13 16:25:57 +00:00
Sebastian Dröge
0ef396359c
gst: Move GstQueueArray as GstVecDeque to core
...
And change lengths and indices from guint to gsize for a more correct type.
Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779 >
2024-05-06 18:25:42 +00:00
Thibault Saunier
5797fa09af
codectimestamper: Implement QUERY_CAPS support
...
This is required to ensure that downstream restrcitions are also
propagated upstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Thibault Saunier
dbc6afd874
codectimestamper: Use accept-intersect and accept-template caps
...
We should behave similarly to video parsers so we can use:
- accept-template as we can also accept caps with missing fields.
- accept-intersect to do quick check with the pad template caps as it is
enough. Users should have figured the appropriate full caps on a
previous caps query
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Seungha Yang
a37b3ec710
codectimestamper: Fix timestamping on sequence update
...
... and enhance debug logging.
Keep internal timestamp offsets on drain, no reason to reset them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3973 >
2023-02-16 10:51:51 +00:00
Seungha Yang
721f059397
codectimestamper: Remove duplicated GstSegment struct
...
Use the one in priv struct. And use gst_segment_is_equal()
to compare GstSegment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380 >
2022-11-15 19:32:10 +00:00
Matthew Waters
6265fc8424
h264/5timestamper: provide a workaround for h264/5parse producing pts=NONE buffers
...
A workaround for
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/649
and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/287
which is hard to change baseparse behaviour for both video and audio
parsers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380 >
2022-11-15 19:32:10 +00:00
Seungha Yang
4db55bc759
codectimestamper: Fix for unknown framerate
...
Use default framerate if numerator or denominator is unknown
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3031 >
2022-09-15 21:48:30 +00:00
Seungha Yang
6a8a20ff92
Add H.264/H.265 timestamp correction element
...
Adding {h264,h265}timestamper element to correct timestamp of
encoded frames. This initial version supports only DTS
correction based on given PTS and SPS data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2580 >
2022-09-12 19:02:21 +00:00