Peter Stensson
516e422231
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/7737 >
2024-10-25 10:18:56 +01:00
Mathieu Duponchelle
bb726c7eef
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/7033 >
2024-06-14 10:45:02 +01: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