mirror of https://github.com/mpv-player/mpv
stream: remove stream_reset()
This function was called in various places. Most time, it was used before a seek. In other cases, the purpose was apparently resetting the EOF flag. As far as I can see, this makes no sense anymore. At least the stream_reset() calls paired with stream_seek() are completely pointless. A seek will either seek inside the buffer (and reset the EOF flag), or do an actual seek and reset all state.
This commit is contained in:
parent
7fefad7a8f
commit
1c35794efd
|
@ -479,7 +479,6 @@ if (priv->isodml && (index_mode==-1 || index_mode==0 || index_mode==1)) {
|
|||
|
||||
// read the standard indices
|
||||
for (cx = &priv->suidx[0], i=0; i<priv->suidx_size; cx++, i++) {
|
||||
stream_reset(demuxer->stream);
|
||||
for (j=0; j<cx->nEntriesInUse; j++) {
|
||||
int ret1, ret2;
|
||||
memset(&cx->stdidx[j], 0, 32);
|
||||
|
@ -543,7 +542,6 @@ if (priv->isodml && (index_mode==-1 || index_mode==0 || index_mode==1)) {
|
|||
{
|
||||
uint32_t id;
|
||||
uint32_t db = 0;
|
||||
stream_reset (demuxer->stream);
|
||||
|
||||
// find out the video stream id. I have seen files with 01db.
|
||||
for (idx = &((AVIINDEXENTRY *)priv->idx)[0], i=0; i<priv->idx_size; i++, idx++){
|
||||
|
@ -590,7 +588,6 @@ freeout:
|
|||
if(index_mode>=2 || (priv->idx_size==0 && index_mode==1)){
|
||||
int idx_pos = 0;
|
||||
// build index for file:
|
||||
stream_reset(demuxer->stream);
|
||||
stream_seek(demuxer->stream,demuxer->movi_start);
|
||||
|
||||
priv->idx_size=0;
|
||||
|
|
|
@ -628,7 +628,6 @@ static demuxer_t* demux_open_asf(demuxer_t* demuxer)
|
|||
init_priv(asf);
|
||||
if (!read_asf_header(demuxer,asf))
|
||||
return NULL;
|
||||
stream_reset(demuxer->stream);
|
||||
stream_seek(demuxer->stream,demuxer->movi_start);
|
||||
// demuxer->idx_pos=0;
|
||||
// demuxer->endpos=avi_header.movi_end;
|
||||
|
|
|
@ -456,7 +456,6 @@ static demuxer_t* demux_open_avi(demuxer_t* demuxer){
|
|||
demuxer->video->id=-1; // autodetect
|
||||
}
|
||||
|
||||
stream_reset(demuxer->stream);
|
||||
stream_seek(demuxer->stream,demuxer->movi_start);
|
||||
if(priv->idx_size>1){
|
||||
// decide index format:
|
||||
|
|
|
@ -143,7 +143,6 @@ static int64_t mp_seek(void *opaque, int64_t pos, int whence)
|
|||
return -1;
|
||||
current_pos = stream_tell(stream);
|
||||
if (stream_seek(stream, pos) == 0) {
|
||||
stream_reset(stream);
|
||||
stream_seek(stream, current_pos);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -470,7 +470,6 @@ static int ts_check_file(demuxer_t * demuxer)
|
|||
if(_read < buf_size-1)
|
||||
{
|
||||
mp_msg(MSGT_DEMUX, MSGL_V, "COULDN'T READ ENOUGH DATA, EXITING TS_CHECK\n");
|
||||
stream_reset(demuxer->stream);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -992,9 +991,6 @@ static demuxer_t *demux_open_ts(demuxer_t * demuxer)
|
|||
demuxer->type= DEMUXER_TYPE_MPEG_TS;
|
||||
demuxer->ts_resets_possible = true;
|
||||
|
||||
|
||||
stream_reset(demuxer->stream);
|
||||
|
||||
packet_size = ts_check_file(demuxer);
|
||||
if(!packet_size)
|
||||
return NULL;
|
||||
|
@ -1079,7 +1075,6 @@ static demuxer_t *demux_open_ts(demuxer_t * demuxer)
|
|||
start_pos - priv->ts.packet_size;
|
||||
demuxer->movi_start = start_pos;
|
||||
demuxer->reference_clock = MP_NOPTS_VALUE;
|
||||
stream_reset(demuxer->stream);
|
||||
stream_seek(demuxer->stream, start_pos); //IF IT'S FROM A PIPE IT WILL FAIL, BUT WHO CARES?
|
||||
|
||||
|
||||
|
|
|
@ -304,7 +304,8 @@ static int stream_reconnect(stream_t *s)
|
|||
return 0;
|
||||
|
||||
s->eof = 1;
|
||||
stream_reset(s);
|
||||
s->pos = 0;
|
||||
s->buf_pos = s->buf_len = 0;
|
||||
|
||||
// Some streams (internal http.c) don't support STREAM_CTRL_RECONNECT,
|
||||
// but do it when trying to seek.
|
||||
|
@ -523,6 +524,7 @@ static int stream_seek_unbuffered(stream_t *s, int64_t newpos)
|
|||
}
|
||||
}
|
||||
}
|
||||
s->eof = 0; // EOF reset when seek succeeds.
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -561,7 +563,6 @@ static int stream_seek_long(stream_t *s, int64_t pos)
|
|||
break; // EOF
|
||||
}
|
||||
|
||||
s->eof = 0; // EOF reset when seek succeeds.
|
||||
while (stream_fill_buffer(s) > 0) {
|
||||
if (pos <= s->buf_len) {
|
||||
s->buf_pos = pos; // byte position in sector
|
||||
|
@ -623,15 +624,6 @@ int stream_skip(stream_t *s, int64_t len)
|
|||
return 1;
|
||||
}
|
||||
|
||||
void stream_reset(stream_t *s)
|
||||
{
|
||||
if (s->eof) {
|
||||
s->pos = 0;
|
||||
s->buf_pos = s->buf_len = 0;
|
||||
s->eof = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int stream_control(stream_t *s, int cmd, void *arg)
|
||||
{
|
||||
if (!s->control)
|
||||
|
|
|
@ -307,7 +307,6 @@ struct MPOpts;
|
|||
*/
|
||||
struct bstr stream_read_complete(struct stream *s, void *talloc_ctx,
|
||||
int max_size, int padding_bytes);
|
||||
void stream_reset(stream_t *s);
|
||||
int stream_control(stream_t *s, int cmd, void *arg);
|
||||
void stream_update_size(stream_t *s);
|
||||
void free_stream(stream_t *s);
|
||||
|
|
|
@ -1212,7 +1212,6 @@ static const char* guess_cp(stream_t *st, const char *preferred_language, const
|
|||
detected_sub_cp = guess_buffer_cp(buffer, buflen, preferred_language, fallback);
|
||||
|
||||
free(buffer);
|
||||
stream_reset(st);
|
||||
stream_seek(st,0);
|
||||
|
||||
return detected_sub_cp;
|
||||
|
@ -1255,7 +1254,6 @@ sub_data* sub_read_file(char *filename, float fps, struct MPOpts *opts)
|
|||
int sub_format = SUB_INVALID;
|
||||
for (utf16 = 0; sub_format == SUB_INVALID && utf16 < 3; utf16++) {
|
||||
sub_format=sub_autodetect (fd, &uses_time, utf16);
|
||||
stream_reset(fd);
|
||||
stream_seek(fd,0);
|
||||
}
|
||||
utf16--;
|
||||
|
|
Loading…
Reference in New Issue