summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-27 16:33:24 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-04-27 16:33:24 +0000
commit281f9026cdf24551ec31383ea13d3ee4ebe87a22 (patch)
tree7db3c9380307c08d4da708c5026460df6615c067
parent024bd68f8cf10c4fa99607207d3c64eb900006b0 (diff)
downloadxine-lib-281f9026cdf24551ec31383ea13d3ee4ebe87a22.tar.gz
xine-lib-281f9026cdf24551ec31383ea13d3ee4ebe87a22.tar.bz2
fix 64-bit diff calculation
CVS patchset: 1782 CVS date: 2002/04/27 16:33:24
-rw-r--r--src/demuxers/demux_mpeg.c9
-rw-r--r--src/demuxers/demux_mpeg_block.c6
-rw-r--r--src/xine-engine/metronom.c9
3 files changed, 19 insertions, 5 deletions
diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c
index e78e1633f..b60600fcd 100644
--- a/src/demuxers/demux_mpeg.c
+++ b/src/demuxers/demux_mpeg.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: demux_mpeg.c,v 1.56 2002/04/23 13:30:42 esnel Exp $
+ * $Id: demux_mpeg.c,v 1.57 2002/04/27 16:33:24 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
* reads streams of variable blocksizes
@@ -118,11 +118,14 @@ static uint32_t read_bytes (demux_mpeg_t *this, int n) {
return res;
}
+/* redefine abs as macro to handle 64-bit diffs.
+ i guess llabs may not be available everywhere */
+#define abs(x) ( (x<0) ? (-x) : (x) )
static void check_newpts( demux_mpeg_t *this, int64_t pts )
{
int64_t diff;
-
+
diff = pts - this->last_pts;
if( !this->preview_mode && pts &&
@@ -381,7 +384,7 @@ static void parse_mpeg1_packet (demux_mpeg_t *this, int stream_id, int64_t scr)
pts |= (w & 0xFFFE) >> 1;
-/* printf ("pts2=%d\n",pts); */
+/* printf ("pts2=%lld\n",pts); */
/* Decoding Time Stamp */
w = read_bytes(this, 3); len -= 3;
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 30cba9fd8..8fd324e6f 100644
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: demux_mpeg_block.c,v 1.94 2002/04/23 13:30:42 esnel Exp $
+ * $Id: demux_mpeg_block.c,v 1.95 2002/04/27 16:33:24 miguelfreitas Exp $
*
* demultiplexer for mpeg 1/2 program streams
*
@@ -48,6 +48,10 @@
#define NUM_PREVIEW_BUFFERS 250
#define DISC_TRESHOLD 90000
+/* redefine abs as macro to handle 64-bit diffs.
+ i guess llabs may not be available everywhere */
+#define abs(x) ( (x<0) ? (-x) : (x) )
+
typedef struct demux_mpeg_block_s {
demux_plugin_t demux_plugin;
diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c
index e1e3d79c2..cd7611529 100644
--- a/src/xine-engine/metronom.c
+++ b/src/xine-engine/metronom.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: metronom.c,v 1.82 2002/04/24 20:26:07 jcdutton Exp $
+ * $Id: metronom.c,v 1.83 2002/04/27 16:33:24 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -48,6 +48,10 @@
#define VIDEO_DRIFT_TOLERANCE 45000
#define AUDIO_DRIFT_TOLERANCE 45000
+/* redefine abs as macro to handle 64-bit diffs.
+ i guess llabs may not be available everywhere */
+#define abs(x) ( (x<0) ? (-x) : (x) )
+
/*
#define LOG
*/
@@ -337,6 +341,9 @@ static void metronom_got_video_frame (metronom_t *this, vo_frame_t *img) {
pthread_mutex_lock (&this->lock);
+/*
+ printf("metronom: got_video_frame pts = %lld\n", pts );
+*/
if (this->in_discontinuity) {
this->in_discontinuity--;