Ticket #1276: demux_filepos3.diff

File demux_filepos3.diff, 3.3 KB (added by rectalogic@…, 18 years ago)

patch for demux_film.c demux_gif.c demux_mf.c demux_rawaudio.c demux_roq.c demux_vqf.c demux_xmms.c

  • libmpdemux/demux_film.c

     
    201201        film_chunk.chunk_offset, (film_chunk.syncinfo1 & 0x80000000) ? 1 : 0);
    202202    }
    203203  }
     204  demuxer->filepos = film_chunk.chunk_offset;
    204205  film_data->current_chunk++;
    205206
    206207  return 1;
  • libmpdemux/demux_gif.c

     
    212212
    213213  demuxer->video->dpos++;
    214214  dp->pts = ((float)priv->current_pts) / 100;
    215   dp->pos = stream_tell(demuxer->stream);
     215  dp->pos = demuxer->filepos = stream_tell(demuxer->stream);
    216216  ds_add_packet(demuxer->video, dp);
    217217
    218218  return 1;
  • libmpdemux/demux_mf.c

     
    4747   demux_packet_t * dp = new_demux_packet( fs.st_size );
    4848   if ( !fread( dp->buffer,fs.st_size,1,f ) ) return 0;
    4949   dp->pts=mf->curr_frame / sh_video->fps;
    50    dp->pos=mf->curr_frame;
     50   dp->pos=demuxer->filepos=mf->curr_frame;
    5151   dp->flags=0;
    5252   // append packet to DS stream:
    5353   ds_add_packet( demuxer->video,dp );
  • libmpdemux/demux_rawaudio.c

     
    7070
    7171  dp = new_demux_packet(l);
    7272  dp->pts = (spos - demuxer->movi_start)  / (float)(sh_audio->wf->nAvgBytesPerSec);
    73   dp->pos = (spos - demuxer->movi_start);
     73  dp->pos = demuxer->filepos = (spos - demuxer->movi_start);
    7474
    7575  l = stream_read(demuxer->stream,dp->buffer,l);
    7676  resize_demux_packet(dp, l);
  • libmpdemux/demux_roq.c

     
    7373
    7474  // make sure we're at the right place in the stream and fetch the chunk
    7575  stream_seek(demuxer->stream, roq_chunk.chunk_offset);
     76  demuxer->filepos = roq_chunk.chunk_offset;
    7677
    7778  if (roq_chunk.chunk_type == CHUNK_TYPE_AUDIO)
    7879    ds_read_packet(demuxer->audio, demuxer->stream, roq_chunk.chunk_size,
  • libmpdemux/demux_vqf.c

     
    172172
    173173  dp = new_demux_packet(l);
    174174  ds->pts = spos / (float)(sh_audio->wf->nAvgBytesPerSec);
    175   ds->pos = spos;
     175  ds->pos = demuxer->filepos = spos;
    176176
    177177  l=stream_read(demuxer->stream,dp->buffer,l);
    178178  resize_demux_packet(dp,l);
  • libmpdemux/demux_xmms.c

     
    329329    pthread_mutex_lock(&xmms_mutex);
    330330    dp = new_demux_packet(XMMS_PACKETSIZE/2);
    331331    dp->pts = priv->spos / sh_audio->wf->nAvgBytesPerSec;
    332     ds->pos = priv->spos;
     332    ds->pos = demuxer->filepos = priv->spos;
    333333
    334334    memcpy(dp->buffer,xmms_audiobuffer,XMMS_PACKETSIZE/2);
    335335    memcpy(xmms_audiobuffer,&xmms_audiobuffer[XMMS_PACKETSIZE/2],