[vlc-devel] [PATCH 10/28] demux: ogg: use vlc_rational_t internally

Steve Lhomme robux4 at videolabs.io
Fri Mar 31 18:14:25 CEST 2017


---
 modules/demux/ogg.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index 40f116046f..4b2b955fba 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -2540,8 +2540,7 @@ static bool Ogg_ReadTheoraHeader( logical_stream_t *p_stream,
                                   ogg_packet *p_oggpacket )
 {
     bs_t bitstream;
-    unsigned int i_fps_numerator;
-    unsigned int i_fps_denominator;
+    vlc_rational_t fps;
     int i_keyframe_frequency_force;
     int i_major;
     int i_minor;
@@ -2571,14 +2570,14 @@ static bool Ogg_ReadTheoraHeader( logical_stream_t *p_stream,
     bs_read( &bitstream, 8 ); /* x offset */
     bs_read( &bitstream, 8 ); /* y offset */
 
-    i_fps_numerator = bs_read( &bitstream, 32 );
-    i_fps_denominator = bs_read( &bitstream, 32 );
-    i_fps_denominator = __MAX( i_fps_denominator, 1 );
+    fps.num = bs_read( &bitstream, 32 );
+    fps.den = bs_read( &bitstream, 32 );
+    fps.den = __MAX( fps.den, 1 );
     bs_read( &bitstream, 24 ); /* aspect_numerator */
     bs_read( &bitstream, 24 ); /* aspect_denominator */
 
-    p_stream->fmt.video.i_frame_rate = i_fps_numerator;
-    p_stream->fmt.video.i_frame_rate_base = i_fps_denominator;
+    p_stream->fmt.video.i_frame_rate = fps.num;
+    p_stream->fmt.video.i_frame_rate_base = fps.den;
 
     bs_read( &bitstream, 8 ); /* colorspace */
     p_stream->fmt.i_bitrate = bs_read( &bitstream, 24 );
@@ -2597,7 +2596,7 @@ static bool Ogg_ReadTheoraHeader( logical_stream_t *p_stream,
 
     i_version = i_major * 1000000 + i_minor * 1000 + i_subminor;
     p_stream->i_keyframe_offset = 0;
-    p_stream->f_rate = ((double)i_fps_numerator) / i_fps_denominator;
+    p_stream->f_rate = ((double)fps.num) / fps.den;
     if ( p_stream->f_rate == 0 ) return false;
 
     if ( i_version >= 3002001 )
-- 
2.11.1



More information about the vlc-devel mailing list