[vlc-devel] commit: VLM: use input_ItemAddOption ( Rémi Denis-Courmont )
git version control
git at videolan.org
Mon Mar 17 20:11:32 CET 2008
vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Mon Mar 17 21:04:21 2008 +0200| [25ea83eba40db206731f469169a7929a3996bc56]
VLM: use input_ItemAddOption
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=25ea83eba40db206731f469169a7929a3996bc56
---
src/input/vlm.c | 29 ++++++++++++-----------------
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/src/input/vlm.c b/src/input/vlm.c
index 7f08bc2..55edac0 100644
--- a/src/input/vlm.c
+++ b/src/input/vlm.c
@@ -2266,17 +2266,13 @@ static int vlm_OnMediaUpdate( vlm_t *p_vlm, vlm_media_sys_t *p_media )
p_media->vod.item.psz_uri = strdup( p_cfg->ppsz_input[0] );
- TAB_INIT( p_media->vod.item.i_options, p_media->vod.item.ppsz_options );
-
asprintf( &psz_dup, "sout=%s", psz_output);
- TAB_APPEND( p_media->vod.item.i_options, p_media->vod.item.ppsz_options, psz_dup );
+ input_ItemAddOption( &p_media->vod.item, psz_dup );
+ free( psz_dup );
for( i = 0; i < p_cfg->i_option; i++ )
- {
- psz_dup = strdup( p_cfg->ppsz_option[i] );
- TAB_APPEND( p_media->vod.item.i_options, p_media->vod.item.ppsz_options, psz_dup );
- }
- psz_dup = strdup( "no-sout-keep" );
- TAB_APPEND( p_media->vod.item.i_options, p_media->vod.item.ppsz_options, psz_dup );
+ input_ItemAddOption( &p_media->vod.item,
+ p_cfg->ppsz_option[i] );
+ input_ItemAddOption( &p_media->vod.item, "no-sout-keep" );
asprintf( &psz_header, _("Media: %s"), p_cfg->psz_name );
@@ -2554,15 +2550,13 @@ static int vlm_ControlMediaInstanceStart( vlm_t *p_vlm, int64_t id, const char *
if( !p_instance )
{
vlm_media_t *p_cfg = &p_media->cfg;
- char *psz_keep;
+ const char *psz_keep;
int i;
p_instance = vlm_MediaInstanceNew( p_vlm, psz_id );
if( !p_instance )
return VLC_ENOMEM;
- TAB_INIT( p_instance->item.i_options, p_instance->item.ppsz_options );
-
if( p_cfg->psz_output != NULL || psz_vod_output != NULL )
{
char *psz_buffer;
@@ -2570,7 +2564,8 @@ static int vlm_ControlMediaInstanceStart( vlm_t *p_vlm, int64_t id, const char *
p_cfg->psz_output ? p_cfg->psz_output : "",
(p_cfg->psz_output && psz_vod_output) ? ":" : psz_vod_output ? "#" : "",
psz_vod_output ? psz_vod_output : "" );
- TAB_APPEND( p_instance->item.i_options, p_instance->item.ppsz_options, psz_buffer );
+ input_ItemAddOption( &p_instance->item, psz_buffer );
+ free( psz_buffer );
}
for( i = 0; i < p_cfg->i_option; i++ )
@@ -2580,16 +2575,16 @@ static int vlm_ControlMediaInstanceStart( vlm_t *p_vlm, int64_t id, const char *
else if( !strcmp( p_cfg->ppsz_option[i], "nosout-keep" ) || !strcmp( p_cfg->ppsz_option[i], "no-sout-keep" ) )
p_instance->b_sout_keep = VLC_FALSE;
else
- TAB_APPEND( p_instance->item.i_options, p_instance->item.ppsz_options, strdup( p_cfg->ppsz_option[i] ) );
+ input_ItemAddOption( &p_instance->item, p_cfg->ppsz_option[i] );
}
/* We force the right sout-keep value (avoid using the sout-keep from the global configuration)
* FIXME implement input list for VOD (need sout-keep)
* */
if( !p_cfg->b_vod && p_instance->b_sout_keep )
- psz_keep = strdup( "sout-keep" );
+ psz_keep = "sout-keep";
else
- psz_keep = strdup( "no-sout-keep" );
- TAB_APPEND( p_instance->item.i_options, p_instance->item.ppsz_options, psz_keep );
+ psz_keep = "no-sout-keep";
+ input_ItemAddOption( &p_instance->item, psz_keep );
TAB_APPEND( p_media->i_instance, p_media->instance, p_instance );
}
More information about the vlc-devel
mailing list