[vlc-commits] bluray: use common MPEG timestamps macros

Steve Lhomme git at videolan.org
Tue Sep 18 14:30:36 CEST 2018


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon May  7 14:17:19 2018 +0200| [8da763f888b3b17b2f3dd596b5fbae3bae3ed3a0] | committer: Steve Lhomme

bluray: use common MPEG timestamps macros

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8da763f888b3b17b2f3dd596b5fbae3bae3ed3a0
---

 modules/access/Makefile.am |  2 +-
 modules/access/bluray.c    | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/modules/access/Makefile.am b/modules/access/Makefile.am
index ee4290132f..fb6564b61f 100644
--- a/modules/access/Makefile.am
+++ b/modules/access/Makefile.am
@@ -254,7 +254,7 @@ endif
 access_LTLIBRARIES += $(LTLIBdvdread)
 EXTRA_LTLIBRARIES += libdvdread_plugin.la
 
-liblibbluray_plugin_la_SOURCES = access/bluray.c
+liblibbluray_plugin_la_SOURCES = access/bluray.c demux/mpeg/timestamps.h
 liblibbluray_plugin_la_CFLAGS = $(AM_CFLAGS) $(BLURAY_CFLAGS)
 liblibbluray_plugin_la_LIBADD = $(BLURAY_LIBS)
 liblibbluray_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(accessdir)'
diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 223be25c24..dc032e2479 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -51,6 +51,8 @@
 #include <vlc_iso_lang.h>
 #include <vlc_fs.h>
 
+#include "../demux/mpeg/timestamps.h"
+
 /* FIXME we should find a better way than including that */
 #include "../../src/text/iso-639_def.h"
 
@@ -285,8 +287,6 @@ static void  onMouseEvent(const vlc_mouse_t *mouse, void *user_data);
 static void  blurayResetParser(demux_t *p_demux);
 static void  notifyDiscontinuity( demux_sys_t *p_sys );
 
-#define FROM_TICKS(a) ((a)*CLOCK_FREQ / INT64_C(90000))
-#define TO_TICKS(a)   ((a)*INT64_C(90000)/CLOCK_FREQ)
 #define CURRENT_TITLE p_sys->pp_title[p_sys->cur_title]
 #define CUR_LENGTH    CURRENT_TITLE->i_length
 
@@ -1674,7 +1674,7 @@ static void bluraySendOverlayToVout(demux_t *p_demux, bluray_overlay_t *p_ov)
 
 static void blurayUpdateTitleInfo(input_title_t *t, BLURAY_TITLE_INFO *title_info)
 {
-    t->i_length = FROM_TICKS(title_info->duration);
+    t->i_length = FROM_SCALE_NZ(title_info->duration);
 
     for (int i = 0; i < t->i_seekpoint; i++)
         vlc_seekpoint_Delete( t->seekpoint[i] );
@@ -1685,7 +1685,7 @@ static void blurayUpdateTitleInfo(input_title_t *t, BLURAY_TITLE_INFO *title_inf
         if (!s) {
             break;
         }
-        s->i_time_offset = FROM_TICKS(title_info->chapters[j].start);
+        s->i_time_offset = FROM_SCALE_NZ(title_info->chapters[j].start);
 
         TAB_APPEND(t->i_seekpoint, t->seekpoint, s);
     }
@@ -1942,7 +1942,7 @@ static int blurayControl(demux_t *p_demux, int query, va_list args)
     case DEMUX_SET_TIME:
     {
         int64_t i_time = va_arg(args, int64_t);
-        bd_seek_time(p_sys->bluray, TO_TICKS(i_time));
+        bd_seek_time(p_sys->bluray, TO_SCALE_NZ(i_time));
         notifyDiscontinuity( p_sys );
         return VLC_SUCCESS;
     }
@@ -1952,7 +1952,7 @@ static int blurayControl(demux_t *p_demux, int query, va_list args)
         if(p_sys->cur_title < p_sys->i_title &&
            (CURRENT_TITLE->i_flags & INPUT_TITLE_INTERACTIVE))
                 return VLC_EGENERIC;
-        *pi_time = (int64_t)FROM_TICKS(bd_tell_time(p_sys->bluray));
+        *pi_time = (vlc_tick_t)FROM_SCALE_NZ(bd_tell_time(p_sys->bluray));
         return VLC_SUCCESS;
     }
 
@@ -1963,13 +1963,13 @@ static int blurayControl(demux_t *p_demux, int query, va_list args)
            (CURRENT_TITLE->i_flags & INPUT_TITLE_INTERACTIVE))
                 return VLC_EGENERIC;
         *pf_position = p_sys->cur_title < p_sys->i_title && CUR_LENGTH > 0 ?
-                      (double)FROM_TICKS(bd_tell_time(p_sys->bluray))/CUR_LENGTH : 0.0;
+                      (double)FROM_SCALE_NZ(bd_tell_time(p_sys->bluray))/CUR_LENGTH : 0.0;
         return VLC_SUCCESS;
     }
     case DEMUX_SET_POSITION:
     {
         double f_position = va_arg(args, double);
-        bd_seek_time(p_sys->bluray, TO_TICKS(f_position*CUR_LENGTH));
+        bd_seek_time(p_sys->bluray, TO_SCALE_NZ(f_position*CUR_LENGTH));
         notifyDiscontinuity( p_sys );
         return VLC_SUCCESS;
     }



More information about the vlc-commits mailing list