diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-22 16:42:37 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-22 16:42:37 +0000 |
commit | a81e5493dde0cbd1d81f6e8dcc3f0cc071cb76c3 (patch) | |
tree | 2550421bab53cb66570b29c524b7c0f1eee56df3 /demuxer.c | |
parent | 766e6011ba578ba9c9e97d25cebf4f7ffffa6787 (diff) | |
download | mpv-a81e5493dde0cbd1d81f6e8dcc3f0cc071cb76c3.tar.bz2 mpv-a81e5493dde0cbd1d81f6e8dcc3f0cc071cb76c3.tar.xz |
added demuxer->seekable flag to generalize seeking ability test
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1624 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'demuxer.c')
-rw-r--r-- | demuxer.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -51,6 +51,7 @@ demuxer_t* new_demuxer(stream_t *stream,int type,int a_id,int v_id,int s_id){ d->stream=stream; d->movi_start=stream->start_pos; d->movi_end=stream->end_pos; + d->seekable=1; d->synced=0; d->filepos=0; d->audio=new_demuxer_stream(d,a_id); @@ -413,7 +414,7 @@ switch(file_format){ break; } case DEMUXER_TYPE_AVI: { - return demux_open_avi(demuxer); + return (demuxer_t*) demux_open_avi(demuxer); // break; } case DEMUXER_TYPE_ASF: { @@ -492,10 +493,13 @@ int demux_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){ sh_audio_t *sh_audio=d_audio->sh; sh_video_t *sh_video=d_video->sh; -//if(demuxer->file_format==DEMUXER_TYPE_AVI && demuxer->idx_size<=0){ -// printf("Can't seek in raw .AVI streams! (index required, try with the -idx switch!) \n"); -// return 0; -//} +if(!demuxer->seekable){ + if(demuxer->file_format==DEMUXER_TYPE_AVI) + mp_msg(MSGT_SEEK,MSGL_WARN,"Can't seek in raw .AVI streams! (index required, try with the -idx switch!) \n"); + else + mp_msg(MSGT_SEEK,MSGL_WARN,"Can't seek in this file! \n"); + return 0; +} // clear demux buffers: if(sh_audio){ ds_free_packs(d_audio);sh_audio->a_buffer_len=0;} |