Mercurial > mplayer.hg
comparison libmpdemux/demux_mpg.c @ 18077:cede662f40a5
timestamps are 33 bits long, so they don't fit in an unsigned int; 10l
author | nicodvb |
---|---|
date | Tue, 11 Apr 2006 20:05:24 +0000 |
parents | 284751bccd04 |
children | 841789620ed1 |
comparison
equal
deleted
inserted
replaced
18076:d30afd14867f | 18077:cede662f40a5 |
---|---|
150 mpg_demuxer_t* mpg_d = demuxer->priv; | 150 mpg_demuxer_t* mpg_d = demuxer->priv; |
151 if (mpg_d) free(mpg_d); | 151 if (mpg_d) free(mpg_d); |
152 } | 152 } |
153 | 153 |
154 | 154 |
155 static unsigned int read_mpeg_timestamp(stream_t *s,int c){ | 155 static unsigned long long read_mpeg_timestamp(stream_t *s,int c){ |
156 int d,e; | 156 int d,e; |
157 unsigned int pts; | 157 unsigned long long pts; |
158 d=stream_read_word(s); | 158 d=stream_read_word(s); |
159 e=stream_read_word(s); | 159 e=stream_read_word(s); |
160 if( ((c&1)!=1) || ((d&1)!=1) || ((e&1)!=1) ){ | 160 if( ((c&1)!=1) || ((d&1)!=1) || ((e&1)!=1) ){ |
161 ++mpeg_pts_error; | 161 ++mpeg_pts_error; |
162 return 0; // invalid pts | 162 return 0; // invalid pts |
185 | 185 |
186 static int demux_mpg_read_packet(demuxer_t *demux,int id){ | 186 static int demux_mpg_read_packet(demuxer_t *demux,int id){ |
187 int d; | 187 int d; |
188 int len; | 188 int len; |
189 unsigned char c=0; | 189 unsigned char c=0; |
190 unsigned int pts=0; | 190 unsigned long long pts=0; |
191 unsigned int dts=0; | 191 unsigned long long dts=0; |
192 demux_stream_t *ds=NULL; | 192 demux_stream_t *ds=NULL; |
193 mpg_demuxer_t *priv = (mpg_demuxer_t *) demux->priv; | 193 mpg_demuxer_t *priv = (mpg_demuxer_t *) demux->priv; |
194 | 194 |
195 mp_dbg(MSGT_DEMUX,MSGL_DBG3,"demux_read_packet: %X\n",id); | 195 mp_dbg(MSGT_DEMUX,MSGL_DBG3,"demux_read_packet: %X\n",id); |
196 | 196 |