[vlc-devel] [PATCH 2/5] se/archive: do not reset source position if dead
Filip Roséen
filip at atch.se
Fri Mar 17 03:22:12 CET 2017
If the libarchive_exit_cb is called due to clean-up (because we are
dead), there is no point in seeking back to zero. It might even fail
if our source module reacts to vlc_killed (such as
stream_filter/cache_read).
---
modules/stream_extractor/archive.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/modules/stream_extractor/archive.c b/modules/stream_extractor/archive.c
index bc401ce3d8..bb553bb034 100644
--- a/modules/stream_extractor/archive.c
+++ b/modules/stream_extractor/archive.c
@@ -99,9 +99,8 @@ static int libarchive_exit_cb( libarchive_t* p_arc, void* p_obj )
libarchive_callback_t* p_cb = (libarchive_callback_t*)p_obj;
if( p_cb->p_sys->source == p_cb->p_source )
- { /* DO NOT CLOSE OUR MOTHER STREAM */
-
- if( vlc_stream_Seek( p_cb->p_source, 0 ) )
+ { /* DO NOT CLOSE OUR MOTHER STREAM */
+ if( !p_cb->p_sys->b_dead && vlc_stream_Seek( p_cb->p_source, 0 ) )
return ARCHIVE_FATAL;
}
else if( p_cb->p_source )
--
2.12.0
More information about the vlc-devel
mailing list