From b096269af5649124ead4dfe060cccf56a56876b3 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 9 Jul 2013 00:03:14 +0200 Subject: demux: remove ds_read_packet() --- demux/demux.c | 13 ------------- demux/demux.h | 2 -- demux/demux_rawvideo.c | 21 +++++++++++++++------ 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/demux/demux.c b/demux/demux.c index b143c702c0..f0cb28ab1d 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -403,19 +403,6 @@ void ds_add_packet(demux_stream_t *ds, demux_packet_t *dp) ds->demuxer->video->packs); } -void ds_read_packet(demux_stream_t *ds, stream_t *stream, int len, - double pts, int64_t pos, bool keyframe) -{ - demux_packet_t *dp = new_demux_packet(len); - len = stream_read(stream, dp->buffer, len); - resize_demux_packet(dp, len); - dp->pts = pts; - dp->pos = pos; - dp->keyframe = keyframe; - // append packet to DS stream: - ds_add_packet(ds, dp); -} - static bool demux_check_queue_full(demuxer_t *demux) { int apacks = demux->audio ? demux->audio->packs : 0; diff --git a/demux/demux.h b/demux/demux.h index 84ed95ceb2..eb5de265b3 100644 --- a/demux/demux.h +++ b/demux/demux.h @@ -254,8 +254,6 @@ void free_demuxer(struct demuxer *demuxer); int demuxer_add_packet(demuxer_t *demuxer, struct sh_stream *stream, demux_packet_t *dp); void ds_add_packet(struct demux_stream *ds, struct demux_packet *dp); -void ds_read_packet(struct demux_stream *ds, struct stream *stream, int len, - double pts, int64_t pos, bool keyframe); int demux_fill_buffer(struct demuxer *demux, struct demux_stream *ds); int ds_fill_buffer(struct demux_stream *ds); 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; } -- cgit v1.2.3