question about matroskamux's behavior

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

question about matroskamux's behavior

nucleus_wind
Hi All,

I have a question about the behavior of matroskamux element. I went through
its code and I saw that it's receiving buffers from its collectpad. However,
matroskamux did not override collectpad's default compare function. As a
result, when two frames' timestamp difference falls outside of the mkv
timestampScale, matroskamux could produce mkv that contains consecutive
frames that has the same timestamp. For example, assume the timestampScale
is 1,000,000, but frame n and n + 1 are only 10 microseconds apart. After
applying the timestampScale, frame n and n + 1 would have the same
timestamp. This can happen either within a cluster or across two consecutive
cluster - i.e. the last frame of cluster n has the same timestamp as the
first frame of cluster n + 1. I'm not an expert in mkv, can you guys help me
understand whether it is semantically correct to have consecutive frames
with the same timestamp in mkv and is there any risk of decoders having
issues with such frames. How is the decoder gonna handle frames with the
same timestamp?

Thanks



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: question about matroskamux's behavior

Nicolas Dufresne-5


Le mer. 10 avr. 2019 20 h 40, nucleus_wind <[hidden email]> a écrit :
Hi All,

I have a question about the behavior of matroskamux element. I went through
its code and I saw that it's receiving buffers from its collectpad. However,
matroskamux did not override collectpad's default compare function. As a
result, when two frames' timestamp difference falls outside of the mkv
timestampScale, matroskamux could produce mkv that contains consecutive
frames that has the same timestamp. For example, assume the timestampScale
is 1,000,000, but frame n and n + 1 are only 10 microseconds apart. After
applying the timestampScale, frame n and n + 1 would have the same
timestamp. This can happen either within a cluster or across two consecutive
cluster - i.e. the last frame of cluster n has the same timestamp as the
first frame of cluster n + 1. I'm not an expert in mkv, can you guys help me
understand whether it is semantically correct to have consecutive frames
with the same timestamp in mkv and is there any risk of decoders having
issues with such frames. How is the decoder gonna handle frames with the
same timestamp?

That seems correct. The timescale also defines the stream clock precision. If there isn't enough precision, two frames appart in nanosecond might have the same timestamp with a specific scale.



Thanks



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel