... by switching numerator and denominator when scaling.
https://bugzilla.gnome.org/show_bug.cgi?id=749122
pts =
gst_util_uint64_scale (encoder->last_pts,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
status = vpx_codec_encode (&encoder->encoder, NULL, pts, 0, flags, deadline);
g_mutex_unlock (&encoder->encoder_lock);
g_mutex_lock (&encoder->encoder_lock);
pts =
gst_util_uint64_scale (frame->pts,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
encoder->last_pts = frame->pts;
if (frame->duration != GST_CLOCK_TIME_NONE) {
duration =
- gst_util_uint64_scale (frame->duration,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ gst_util_uint64_scale (frame->duration, encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
encoder->last_pts += frame->duration;
} else {
duration = 1;
pts =
gst_util_uint64_scale (encoder->last_pts,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
status = vpx_codec_encode (&encoder->encoder, NULL, pts, 0, flags, deadline);
g_mutex_unlock (&encoder->encoder_lock);
g_mutex_lock (&encoder->encoder_lock);
pts =
gst_util_uint64_scale (frame->pts,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
encoder->last_pts = frame->pts;
if (frame->duration != GST_CLOCK_TIME_NONE) {
duration =
- gst_util_uint64_scale (frame->duration,
- encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND,
- encoder->cfg.g_timebase.den);
+ gst_util_uint64_scale (frame->duration, encoder->cfg.g_timebase.den,
+ encoder->cfg.g_timebase.num * (GstClockTime) GST_SECOND);
encoder->last_pts += frame->duration;
} else {
duration = 1;