diff options
Diffstat (limited to 'demux/demux_rawvideo.c')
-rw-r--r-- | demux/demux_rawvideo.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/demux/demux_rawvideo.c b/demux/demux_rawvideo.c index 1a09b8308a..6834bfb23a 100644 --- a/demux/demux_rawvideo.c +++ b/demux/demux_rawvideo.c @@ -57,6 +57,7 @@ const m_option_t demux_rawvideo_opts[] = { static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) { + struct sh_stream *sh; sh_video_t* sh_video; if(!width || !height){ @@ -113,7 +114,8 @@ static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) { imgsize = width * height * bpp / 8; } - sh_video = new_sh_video(demuxer,0); + sh = new_sh_stream(demuxer, STREAM_VIDEO); + sh_video = sh->video; sh_video->gsh->codec=decoder; sh_video->format=imgfmt; sh_video->fps=fps; @@ -125,14 +127,11 @@ static demuxer_t* demux_rawvideo_open(demuxer_t* demuxer) { demuxer->movi_start = demuxer->stream->start_pos; demuxer->movi_end = demuxer->stream->end_pos; - demuxer->video->sh = sh_video; - sh_video->ds = demuxer->video; - return demuxer; } static int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds) { - sh_video_t* sh = demuxer->video->sh; + sh_video_t* sh = demuxer->video->gsh->video; int64_t pos; if(demuxer->stream->eof) return 0; if(ds!=demuxer->video) return 0; @@ -143,7 +142,7 @@ static int demux_rawvideo_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds) { 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->sh; + sh_video_t* sh_video = demuxer->video->gsh->video; int64_t pos; pos = (flags & SEEK_ABSOLUTE) ? demuxer->movi_start : stream_tell(s); |