Commit 924e05dc authored by Gildas Bazin's avatar Gildas Bazin

* modules/stream_out/transcode.c: added support for subtitles overlaying when...

* modules/stream_out/transcode.c: added support for subtitles overlaying when transcoding (no resizing yet).
* include/vlc_common.h: added a b_force member that is set when a module is forced (ie. module specified in module_Need()).
parent f5321d75
...@@ -101,11 +101,11 @@ struct encoder_t ...@@ -101,11 +101,11 @@ struct encoder_t
/* Module properties */ /* Module properties */
module_t * p_module; module_t * p_module;
encoder_sys_t * p_sys; encoder_sys_t * p_sys;
vlc_bool_t b_force;
block_t * ( * pf_header )( encoder_t * ); block_t * ( * pf_header )( encoder_t * );
block_t * ( * pf_encode_video )( encoder_t *, picture_t * ); block_t * ( * pf_encode_video )( encoder_t *, picture_t * );
block_t * ( * pf_encode_audio )( encoder_t *, aout_buffer_t * ); block_t * ( * pf_encode_audio )( encoder_t *, aout_buffer_t * );
block_t * ( * pf_encode_sub )( encoder_t *, subpicture_t * );
/* Properties of the input data fed to the encoder */ /* Properties of the input data fed to the encoder */
es_format_t fmt_in; es_format_t fmt_in;
......
...@@ -414,6 +414,7 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */ ...@@ -414,6 +414,7 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *, /* variable's object */
volatile vlc_bool_t b_die; /**< set by the outside */ \ volatile vlc_bool_t b_die; /**< set by the outside */ \
volatile vlc_bool_t b_dead; /**< set by the object */ \ volatile vlc_bool_t b_dead; /**< set by the object */ \
volatile vlc_bool_t b_attached; /**< set by the object */ \ volatile vlc_bool_t b_attached; /**< set by the object */ \
vlc_bool_t b_force; /**< set by the outside (eg. module_Need()) */ \
\ \
/* Object variables */ \ /* Object variables */ \
vlc_mutex_t var_lock; \ vlc_mutex_t var_lock; \
......
This diff is collapsed.
...@@ -328,6 +328,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability, ...@@ -328,6 +328,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability,
{ {
module_t *p_module; module_t *p_module;
int i_score; int i_score;
vlc_bool_t b_force;
module_list_t *p_next; module_list_t *p_next;
}; };
...@@ -501,6 +502,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability, ...@@ -501,6 +502,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability,
/* Store this new module */ /* Store this new module */
p_list[ i_index ].p_module = p_module; p_list[ i_index ].p_module = p_module;
p_list[ i_index ].i_score = p_module->i_score + i_shortcut_bonus; p_list[ i_index ].i_score = p_module->i_score + i_shortcut_bonus;
p_list[ i_index ].b_force = !!i_shortcut_bonus;
/* Add it to the modules-to-probe list */ /* Add it to the modules-to-probe list */
if( i_index == 0 ) if( i_index == 0 )
...@@ -571,6 +573,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability, ...@@ -571,6 +573,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability,
} }
#endif #endif
p_this->b_force = p_tmp->b_force;
if( p_tmp->p_module->pf_activate if( p_tmp->p_module->pf_activate
&& p_tmp->p_module->pf_activate( p_this ) == VLC_SUCCESS ) && p_tmp->p_module->pf_activate( p_this ) == VLC_SUCCESS )
{ {
...@@ -600,6 +603,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability, ...@@ -600,6 +603,7 @@ module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability,
} }
free( p_list ); free( p_list );
p_this->b_force = VLC_FALSE;
if( p_module != NULL ) if( p_module != NULL )
{ {
......
...@@ -212,6 +212,7 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type ) ...@@ -212,6 +212,7 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type )
p_new->b_error = VLC_FALSE; p_new->b_error = VLC_FALSE;
p_new->b_dead = VLC_FALSE; p_new->b_dead = VLC_FALSE;
p_new->b_attached = VLC_FALSE; p_new->b_attached = VLC_FALSE;
p_new->b_force = VLC_FALSE;
p_new->i_vars = 0; p_new->i_vars = 0;
p_new->p_vars = (variable_t *)malloc( 16 * sizeof( variable_t ) ); p_new->p_vars = (variable_t *)malloc( 16 * sizeof( variable_t ) );
......
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