wavpackparse: set both pts and dts so baseparse doesn't make up wrong dts after seeks
https://bugzilla.gnome.org/show_bug.cgi?id=752106
This commit is contained in:
parent
0d88f27108
commit
fcdb79ef7b
@ -544,11 +544,12 @@ gst_wavpack_parse_handle_frame (GstBaseParse * parse,
|
|||||||
|
|
||||||
GST_LOG_OBJECT (parse, "rate: %u, width: %u, chans: %u", rate, width, chans);
|
GST_LOG_OBJECT (parse, "rate: %u, width: %u, chans: %u", rate, width, chans);
|
||||||
|
|
||||||
GST_BUFFER_TIMESTAMP (buf) =
|
GST_BUFFER_PTS (buf) =
|
||||||
gst_util_uint64_scale_int (wph.block_index, GST_SECOND, rate);
|
gst_util_uint64_scale_int (wph.block_index, GST_SECOND, rate);
|
||||||
|
GST_BUFFER_DTS (buf) = GST_BUFFER_PTS (buf);
|
||||||
GST_BUFFER_DURATION (buf) =
|
GST_BUFFER_DURATION (buf) =
|
||||||
gst_util_uint64_scale_int (wph.block_index + wph.block_samples,
|
gst_util_uint64_scale_int (wph.block_index + wph.block_samples,
|
||||||
GST_SECOND, rate) - GST_BUFFER_TIMESTAMP (buf);
|
GST_SECOND, rate) - GST_BUFFER_PTS (buf);
|
||||||
|
|
||||||
if (G_UNLIKELY (wvparse->sample_rate != rate || wvparse->channels != chans
|
if (G_UNLIKELY (wvparse->sample_rate != rate || wvparse->channels != chans
|
||||||
|| wvparse->width != width || wvparse->channel_mask != mask)) {
|
|| wvparse->width != width || wvparse->channel_mask != mask)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user