mpegts: scte: double-check splice time realm
There might be something a bit awkward API wise about the splice start/stop timestamps that need to be passed to gst_mpegts_scte_splice_in_new()
and gst_mpegts_scte_splice_out_new()
and how they interact with the buffer timstamps and what gets muxed into the mpeg-ts stream by mpegtsmux
.
In particular, there seems to be a mismatch when e.g. x264enc
is used, which shifts buffer timestamps by an hour in order to be able to express negative dts.
It would seem that an application/user who wants to create SCTE sections for such a video stream would need to know about this offset, which seems awkward especially if the encoder is chosen at runtime.
Needs more investigation to see what's actually going on here:
-
what pts/dts does mpegtsmux
actually put into the MPEG-TS stream in the case where they are shifted? (running time or buffer pts/dts? possibly the latter) -
does mpegtsmux
transform the SCTE section splice in/out timestamps in any way? (think not other than convert to mpegts timescale) -
should SCTE splice in/out timestamps perhaps be in running time and then the muxer converts them to the video encoder timeline automatically? (if needed, that is, depends on answers to the above)