vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Feb 7 20:07:17 2017 +0200| [85b844ce51cf207c749a6e6aba34e91f6d5d72ef] | committer: Rémi Denis-Courmont
stream_filter: assume read buffer is non-NULL, simplify As per the previous commit, this code is no longer necessary. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=85b844ce51cf207c749a6e6aba34e91f6d5d72ef --- modules/access/zip/zipstream.c | 3 +-- modules/stream_filter/adf.c | 2 +- modules/stream_filter/aribcam.c | 2 +- modules/stream_filter/cache_block.c | 12 +----------- modules/stream_filter/cache_read.c | 22 ++-------------------- modules/stream_filter/decomp.c | 14 -------------- modules/stream_filter/inflate.c | 7 ------- modules/stream_filter/prefetch.c | 8 -------- modules/stream_filter/record.c | 8 -------- 9 files changed, 6 insertions(+), 72 deletions(-) diff --git a/modules/access/zip/zipstream.c b/modules/access/zip/zipstream.c index 5bd7771..4eff9f5 100644 --- a/modules/access/zip/zipstream.c +++ b/modules/access/zip/zipstream.c @@ -264,8 +264,7 @@ static ssize_t Read( stream_t *s, void *p_read, size_t i_read ) /* Read the buffer */ size_t i_len = __MIN( i_read, p_sys->i_len - p_sys->i_pos ); - if( p_read ) - memcpy( p_read, p_sys->psz_xspf + p_sys->i_pos, i_len ); + memcpy( p_read, p_sys->psz_xspf + p_sys->i_pos, i_len ); p_sys->i_pos += i_len; return i_len; diff --git a/modules/stream_filter/adf.c b/modules/stream_filter/adf.c index 6d27948..5d3fb0a 100644 --- a/modules/stream_filter/adf.c +++ b/modules/stream_filter/adf.c @@ -51,7 +51,7 @@ static int Control( stream_t *p_stream, int i_query, va_list args ) static ssize_t Read( stream_t *s, void *buffer, size_t i_read ) { const ssize_t i_ret = vlc_stream_Read( s->p_source, buffer, i_read ); - if( i_ret < 1 || !buffer ) return i_ret; + if( i_ret < 1 ) return i_ret; uint8_t *p_buffer = buffer; static const uint8_t ADF_XOR_MASK = 34; diff --git a/modules/stream_filter/aribcam.c b/modules/stream_filter/aribcam.c index 932d421..0b8ada8 100644 --- a/modules/stream_filter/aribcam.c +++ b/modules/stream_filter/aribcam.c @@ -170,7 +170,7 @@ static ssize_t Read( stream_t *p_stream, void *p_buf, size_t i_toread ) int i_total_read = 0; int i_ret; - if ( !p_dst || !i_toread ) + if ( !i_toread ) return -1; /* Use data from previous reads */ diff --git a/modules/stream_filter/cache_block.c b/modules/stream_filter/cache_block.c index b41d8b2..fc1187e 100644 --- a/modules/stream_filter/cache_block.c +++ b/modules/stream_filter/cache_block.c @@ -360,21 +360,11 @@ static ssize_t AStreamReadBlock(stream_t *s, void *buf, size_t len) if (sys->p_current == NULL) return 0; - if (buf == NULL) - { /* seek if possible, else use plain old read and discard */ - bool b_aseek; - - vlc_stream_Control(s->p_source, STREAM_CAN_SEEK, &b_aseek); - if (b_aseek) - return AStreamSeekBlock(s, sys->i_pos + len) ? 0 : len; - } - ssize_t i_current = sys->p_current->i_buffer - sys->i_offset; size_t i_copy = VLC_CLIP((size_t)i_current, 0, len); /* Copy data */ - if (buf != NULL) - memcpy(buf, &sys->p_current->p_buffer[sys->i_offset], i_copy); + memcpy(buf, &sys->p_current->p_buffer[sys->i_offset], i_copy); sys->i_offset += i_copy; if (sys->i_offset >= sys->p_current->i_buffer) diff --git a/modules/stream_filter/cache_read.c b/modules/stream_filter/cache_read.c index 0601787..d9c33b5 100644 --- a/modules/stream_filter/cache_read.c +++ b/modules/stream_filter/cache_read.c @@ -244,7 +244,7 @@ static void AStreamControlReset(stream_t *s) AStreamPrebufferStream(s); } -static ssize_t AStreamReadNoSeekStream(stream_t *s, void *buf, size_t len) +static ssize_t AStreamReadStream(stream_t *s, void *buf, size_t len) { stream_sys_t *sys = s->p_sys; stream_track_t *tk = &sys->tk[sys->i_tk]; @@ -400,7 +400,7 @@ static int AStreamSeekStream(stream_t *s, uint64_t i_pos) { const int i_read_max = __MIN(10 * STREAM_READ_ATONCE, i_skip); int i_read = 0; - if ((i_read = AStreamReadNoSeekStream(s, NULL, i_read_max)) < 0) + if ((i_read = AStreamReadStream(s, NULL, i_read_max)) < 0) { msg_Err(s, "AStreamSeekStream: skip failed"); return VLC_EGENERIC; @@ -445,24 +445,6 @@ static int AStreamSeekStream(stream_t *s, uint64_t i_pos) return VLC_SUCCESS; } -static ssize_t AStreamReadStream(stream_t *s, void *p_read, size_t i_read) -{ - stream_sys_t *sys = s->p_sys; - - if (!p_read) - { - const uint64_t i_pos_wanted = sys->i_pos + i_read; - - if (AStreamSeekStream(s, i_pos_wanted)) - { - if (sys->i_pos != i_pos_wanted) - return 0; - } - return i_read; - } - return AStreamReadNoSeekStream(s, p_read, i_read); -} - /**************************************************************************** * AStreamControl: ****************************************************************************/ diff --git a/modules/stream_filter/decomp.c b/modules/stream_filter/decomp.c index 12f778f..e3d9af3 100644 --- a/modules/stream_filter/decomp.c +++ b/modules/stream_filter/decomp.c @@ -192,20 +192,6 @@ static void *Thread (void *data) static ssize_t Read (stream_t *stream, void *buf, size_t buflen) { stream_sys_t *sys = stream->p_sys; - - if (buf == NULL) /* caller skips data, get big enough peek buffer */ - { - buf = malloc(buflen); - if (unlikely(buf == NULL)) - return -1; - - ssize_t val = Read(stream, buf, buflen); - free(buf); - return val; - } - - assert ((buf != NULL) || (buflen == 0)); - ssize_t val = vlc_read_i11e (sys->read_fd, buf, buflen); return (val >= 0) ? val : 0; } diff --git a/modules/stream_filter/inflate.c b/modules/stream_filter/inflate.c index d262eb7..05f3a5c 100644 --- a/modules/stream_filter/inflate.c +++ b/modules/stream_filter/inflate.c @@ -45,13 +45,6 @@ static ssize_t Read(stream_t *stream, void *buf, size_t buflen) if (sys->eof || unlikely(buflen == 0)) return 0; - if (buf == NULL) - { - char dummy[buflen > 4096 ? 4096 : buflen]; - - return Read(stream, dummy, sizeof (dummy)); - } - sys->zstream.next_out = buf; sys->zstream.avail_out = buflen; diff --git a/modules/stream_filter/prefetch.c b/modules/stream_filter/prefetch.c index 6d0c6cd..b1cb479 100644 --- a/modules/stream_filter/prefetch.c +++ b/modules/stream_filter/prefetch.c @@ -297,13 +297,6 @@ static ssize_t Read(stream_t *stream, void *buf, size_t buflen) return buflen; vlc_mutex_lock(&sys->lock); - if (buf == NULL) - { - sys->stream_offset += buflen; - copy = buflen; - goto out; - } - if (sys->paused) { msg_Err(stream, "reading while paused (buggy demux?)"); @@ -335,7 +328,6 @@ static ssize_t Read(stream_t *stream, void *buf, size_t buflen) memcpy(buf, sys->buffer + offset, copy); sys->stream_offset += copy; -out: vlc_cond_signal(&sys->wait_space); vlc_mutex_unlock(&sys->lock); return copy; diff --git a/modules/stream_filter/record.c b/modules/stream_filter/record.c index da230d3..2ddb276 100644 --- a/modules/stream_filter/record.c +++ b/modules/stream_filter/record.c @@ -117,12 +117,6 @@ static ssize_t Read( stream_t *s, void *p_read, size_t i_read ) { stream_sys_t *p_sys = s->p_sys; void *p_record = p_read; - - /* Allocate a temporary buffer for record when no p_read */ - if( p_sys->f && !p_record ) - p_record = malloc( i_read ); - - /* */ const ssize_t i_record = vlc_stream_Read( s->p_source, p_record, i_read ); /* Dump read data */ @@ -130,8 +124,6 @@ static ssize_t Read( stream_t *s, void *p_read, size_t i_read ) { if( p_record && i_record > 0 ) Write( s, p_record, i_record ); - if( !p_read ) - free( p_record ); } return i_record; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
