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
/* Module properties for stream filter */
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_t *p_source;
......
......@@ -237,6 +237,7 @@ void stream_CommonDelete( stream_t *s )
vlc_iconv_close( s->p_text->conv );
free( s->p_text );
}
free( s->psz_path );
vlc_object_release( s );
}
......@@ -284,8 +285,9 @@ stream_t *stream_AccessNew( access_t *p_access, char **ppsz_list )
if( !s )
return NULL;
s->psz_path = strdup( p_access->psz_path );
s->p_sys = p_sys = malloc( sizeof( *p_sys ) );
if( !p_sys )
if( !s->psz_path || !s->p_sys )
{
stream_CommonDelete( s );
return NULL;
......
......@@ -64,13 +64,14 @@ stream_t *__stream_DemuxNew( vlc_object_t *p_obj, const char *psz_demux,
s = stream_CommonNew( p_obj );
if( s == NULL )
return NULL;
s->psz_path = strdup(""); /* N/A */
s->pf_read = DStreamRead;
s->pf_peek = DStreamPeek;
s->pf_control= DStreamControl;
s->pf_destroy= DStreamDelete;
s->p_sys = p_sys = malloc( sizeof( *p_sys) );
if( s->p_sys == NULL )
if( !s->psz_path || !s->p_sys )
{
stream_CommonDelete( s );
return NULL;
......
......@@ -43,6 +43,12 @@ stream_t *stream_FilterNew( stream_t *p_source,
return NULL;
/* */
s->psz_path = strdup( p_source->psz_path );
if( !s->psz_path )
{
stream_CommonDelete( s );
return NULL;
}
s->p_source = p_source;
/* */
......
......@@ -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_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 ) );
if( !s->psz_path || !s->p_sys )
{
stream_CommonDelete( s );
return NULL;
}
p_sys->i_pos = 0;
p_sys->i_size = i_size;
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