Commit 9f052b2b authored by Laurent Aimar's avatar Laurent Aimar

Added path information in stream_t.

parent 64d1e176
...@@ -56,6 +56,9 @@ struct stream_t ...@@ -56,6 +56,9 @@ struct stream_t
/* Module properties for stream filter */ /* Module properties for stream filter */
module_t *p_module; module_t *p_module;
/* Real or virtual path (it can only be changed during stream_t opening) */
char *psz_path;
/* Stream source for stream filter */ /* Stream source for stream filter */
stream_t *p_source; stream_t *p_source;
......
...@@ -237,6 +237,7 @@ void stream_CommonDelete( stream_t *s ) ...@@ -237,6 +237,7 @@ void stream_CommonDelete( stream_t *s )
vlc_iconv_close( s->p_text->conv ); vlc_iconv_close( s->p_text->conv );
free( s->p_text ); free( s->p_text );
} }
free( s->psz_path );
vlc_object_release( s ); vlc_object_release( s );
} }
...@@ -284,8 +285,9 @@ stream_t *stream_AccessNew( access_t *p_access, char **ppsz_list ) ...@@ -284,8 +285,9 @@ stream_t *stream_AccessNew( access_t *p_access, char **ppsz_list )
if( !s ) if( !s )
return NULL; return NULL;
s->psz_path = strdup( p_access->psz_path );
s->p_sys = p_sys = malloc( sizeof( *p_sys ) ); s->p_sys = p_sys = malloc( sizeof( *p_sys ) );
if( !p_sys ) if( !s->psz_path || !s->p_sys )
{ {
stream_CommonDelete( s ); stream_CommonDelete( s );
return NULL; return NULL;
......
...@@ -64,13 +64,14 @@ stream_t *__stream_DemuxNew( vlc_object_t *p_obj, const char *psz_demux, ...@@ -64,13 +64,14 @@ stream_t *__stream_DemuxNew( vlc_object_t *p_obj, const char *psz_demux,
s = stream_CommonNew( p_obj ); s = stream_CommonNew( p_obj );
if( s == NULL ) if( s == NULL )
return NULL; return NULL;
s->psz_path = strdup(""); /* N/A */
s->pf_read = DStreamRead; s->pf_read = DStreamRead;
s->pf_peek = DStreamPeek; s->pf_peek = DStreamPeek;
s->pf_control= DStreamControl; s->pf_control= DStreamControl;
s->pf_destroy= DStreamDelete; s->pf_destroy= DStreamDelete;
s->p_sys = p_sys = malloc( sizeof( *p_sys) ); s->p_sys = p_sys = malloc( sizeof( *p_sys) );
if( s->p_sys == NULL ) if( !s->psz_path || !s->p_sys )
{ {
stream_CommonDelete( s ); stream_CommonDelete( s );
return NULL; return NULL;
......
...@@ -43,6 +43,12 @@ stream_t *stream_FilterNew( stream_t *p_source, ...@@ -43,6 +43,12 @@ stream_t *stream_FilterNew( stream_t *p_source,
return NULL; return NULL;
/* */ /* */
s->psz_path = strdup( p_source->psz_path );
if( !s->psz_path )
{
stream_CommonDelete( s );
return NULL;
}
s->p_source = p_source; s->p_source = p_source;
/* */ /* */
......
...@@ -56,9 +56,16 @@ stream_t *__stream_MemoryNew( vlc_object_t *p_this, uint8_t *p_buffer, ...@@ -56,9 +56,16 @@ stream_t *__stream_MemoryNew( vlc_object_t *p_this, uint8_t *p_buffer,
stream_t *s = stream_CommonNew( p_this ); stream_t *s = stream_CommonNew( p_this );
stream_sys_t *p_sys; stream_sys_t *p_sys;
if( !s ) return NULL; if( !s )
return NULL;
s->psz_path = strdup( "" ); /* N/A */
s->p_sys = p_sys = malloc( sizeof( stream_sys_t ) ); s->p_sys = p_sys = malloc( sizeof( stream_sys_t ) );
if( !s->psz_path || !s->p_sys )
{
stream_CommonDelete( s );
return NULL;
}
p_sys->i_pos = 0; p_sys->i_pos = 0;
p_sys->i_size = i_size; p_sys->i_size = i_size;
p_sys->p_buffer = p_buffer; p_sys->p_buffer = p_buffer;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment