summaryrefslogtreecommitdiffstats
path: root/demux/demux_rawvideo.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_rawvideo.c')
-rw-r--r--demux/demux_rawvideo.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/demux/demux_rawvideo.c b/demux/demux_rawvideo.c
index 787bd0c064..6fc25639ca 100644
--- a/demux/demux_rawvideo.c
+++ b/demux/demux_rawvideo.c
@@ -130,7 +130,8 @@ static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) {
return demuxer;
}
-static int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds) {
+static int demux_rawvideo_fill_buffer(demuxer_t* demuxer)
+{
int64_t spos = stream_tell(demuxer->stream);
demux_packet_t* dp;
int size;
@@ -144,27 +145,24 @@ static int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds) {
size = stream_read(demuxer->stream, dp->buffer, imgsize);
resize_demux_packet(dp, size);
- ds_add_packet(ds, dp);
+ demuxer_add_packet(demuxer, demuxer->streams[0], dp);
return 1;
}
static void demux_rawvideo_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_delay,int flags){
stream_t* s = demuxer->stream;
- sh_video_t* sh_video = demuxer->video->gsh->video;
int64_t pos;
pos = (flags & SEEK_ABSOLUTE) ? demuxer->movi_start : stream_tell(s);
if(flags & SEEK_FACTOR)
pos += ((demuxer->movi_end - demuxer->movi_start)*rel_seek_secs);
else
- pos += (rel_seek_secs*sh_video->i_bps);
+ pos += (rel_seek_secs*fps*imgsize);
if(pos < 0) pos = 0;
if(demuxer->movi_end && pos > demuxer->movi_end) pos = (demuxer->movi_end-imgsize);
pos/=imgsize;
stream_seek(s,pos*imgsize);
- //sh_video->timer=pos * sh_video->frametime;
-// printf("demux_rawvideo: streamtell=%d\n",(int)stream_tell(demuxer->stream));
}