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.c11
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);