mmsh:_implement a minimal mmsh_seek() so the stream position can be found out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-10-31 22:43:38 +01:00
parent 60fcc19bff
commit 237bcaa275

View File

@ -385,12 +385,22 @@ static int64_t mmsh_read_seek(URLContext *h, int stream_index,
return ret; return ret;
} }
static int64_t mmsh_seek(URLContext *h, int64_t pos, int whence)
{
MMSHContext *mmsh = h->priv_data;
MMSContext *mms = &mmsh->mms;
if(pos == 0 && whence == SEEK_CUR)
return mms->asf_header_read_size + mms->remaining_in_len + mmsh->chunk_seq * mms->asf_packet_len;
return AVERROR(ENOSYS);
}
URLProtocol ff_mmsh_protocol = { URLProtocol ff_mmsh_protocol = {
.name = "mmsh", .name = "mmsh",
.url_open = mmsh_open, .url_open = mmsh_open,
.url_read = mmsh_read, .url_read = mmsh_read,
.url_write = NULL, .url_write = NULL,
.url_seek = NULL, .url_seek = mmsh_seek,
.url_close = mmsh_close, .url_close = mmsh_close,
.url_read_seek = mmsh_read_seek, .url_read_seek = mmsh_read_seek,
}; };