diff options
author | wm4 <wm4@nowhere> | 2013-07-09 00:03:14 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-07-10 02:00:46 +0200 |
commit | b096269af5649124ead4dfe060cccf56a56876b3 (patch) | |
tree | 0448e05ccb6b6de47f7e94a5a342852c69f87a12 /demux/demux_rawvideo.c | |
parent | 9200538b398a2f6d1be6bca107c58fd1a4070b01 (diff) | |
download | mpv-b096269af5649124ead4dfe060cccf56a56876b3.tar.bz2 mpv-b096269af5649124ead4dfe060cccf56a56876b3.tar.xz |
demux: remove ds_read_packet()
Diffstat (limited to 'demux/demux_rawvideo.c')
-rw-r--r-- | demux/demux_rawvideo.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/demux/demux_rawvideo.c b/demux/demux_rawvideo.c index 6834bfb23a..a4eaaa2a8c 100644 --- a/demux/demux_rawvideo.c +++ b/demux/demux_rawvideo.c @@ -131,12 +131,21 @@ static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) { } static int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds) { - sh_video_t* sh = demuxer->video->gsh->video; - int64_t pos; - if(demuxer->stream->eof) return 0; - if(ds!=demuxer->video) return 0; - pos = stream_tell(demuxer->stream); - ds_read_packet(ds,demuxer->stream,imgsize,(pos/imgsize)*sh->frametime,pos,0x10); + int64_t spos = stream_tell(demuxer->stream); + demux_packet_t* dp; + int size; + + if(demuxer->stream->eof) + return 0; + + dp = new_demux_packet(imgsize); + dp->pos = (spos - demuxer->movi_start); + dp->pts = dp->pos / (float)(imgsize); + + size = stream_read(demuxer->stream, dp->buffer, imgsize); + resize_demux_packet(dp, size); + ds_add_packet(ds, dp); + return 1; } |