Changeset 4855a76128089e15454b0506b149b7d9540127bb
- Timestamp:
- 16/08/07 19:03:40
(1 year ago)
- Author:
- Rémi Denis-Courmont <rem@videolan.org>
- git-committer:
- Rémi Denis-Courmont <rem@videolan.org> 1187283820 +0000
- git-parent:
[8b7d91f2b71799dfb225641720c7ae352efe7524]
- git-author:
- Rémi Denis-Courmont <rem@videolan.org> 1187283820 +0000
- Message:
Made mosaic shared struct per-instance rather than per-process
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r4c4c4ce |
r4855a76 |
|
| 176 | 176 | sout_stream_t *p_stream = (sout_stream_t *)p_this; |
|---|
| 177 | 177 | sout_stream_sys_t *p_sys; |
|---|
| 178 | | vlc_object_t *p_libvlc_global = p_this->p_libvlc_global; |
|---|
| | 178 | vlc_object_t *p_libvlc = p_this->p_libvlc; |
|---|
| 179 | 179 | vlc_value_t val; |
|---|
| 180 | 180 | |
|---|
| … | … | |
| 191 | 191 | p_sys->b_inited = VLC_FALSE; |
|---|
| 192 | 192 | |
|---|
| 193 | | var_Create( p_libvlc_global, "mosaic-lock", VLC_VAR_MUTEX ); |
|---|
| 194 | | var_Get( p_libvlc_global, "mosaic-lock", &val ); |
|---|
| | 193 | var_Create( p_libvlc, "mosaic-lock", VLC_VAR_MUTEX ); |
|---|
| | 194 | var_Get( p_libvlc, "mosaic-lock", &val ); |
|---|
| 195 | 195 | p_sys->p_lock = val.p_address; |
|---|
| 196 | 196 | |
|---|
| … | … | |
| 317 | 317 | if ( p_bridge == NULL ) |
|---|
| 318 | 318 | { |
|---|
| 319 | | vlc_object_t *p_libvlc_global = p_stream->p_libvlc_global; |
|---|
| | 319 | vlc_object_t *p_libvlc = p_stream->p_libvlc; |
|---|
| 320 | 320 | vlc_value_t val; |
|---|
| 321 | 321 | |
|---|
| 322 | 322 | p_bridge = malloc( sizeof( bridge_t ) ); |
|---|
| 323 | 323 | |
|---|
| 324 | | var_Create( p_libvlc_global, "mosaic-struct", VLC_VAR_ADDRESS ); |
|---|
| | 324 | var_Create( p_libvlc, "mosaic-struct", VLC_VAR_ADDRESS ); |
|---|
| 325 | 325 | val.p_address = p_bridge; |
|---|
| 326 | | var_Set( p_libvlc_global, "mosaic-struct", val ); |
|---|
| | 326 | var_Set( p_libvlc, "mosaic-struct", val ); |
|---|
| 327 | 327 | |
|---|
| 328 | 328 | p_bridge->i_es_num = 0; |
|---|
| … | … | |
| 496 | 496 | if ( b_last_es ) |
|---|
| 497 | 497 | { |
|---|
| 498 | | vlc_object_t *p_libvlc_global = p_stream->p_libvlc_global; |
|---|
| | 498 | vlc_object_t *p_libvlc = p_stream->p_libvlc; |
|---|
| 499 | 499 | for ( i = 0; i < p_bridge->i_es_num; i++ ) |
|---|
| 500 | 500 | free( p_bridge->pp_es[i] ); |
|---|
| 501 | 501 | free( p_bridge->pp_es ); |
|---|
| 502 | 502 | free( p_bridge ); |
|---|
| 503 | | var_Destroy( p_libvlc_global, "mosaic-struct" ); |
|---|
| | 503 | var_Destroy( p_libvlc, "mosaic-struct" ); |
|---|
| 504 | 504 | } |
|---|
| 505 | 505 | |
|---|
| r39c6252 |
r4855a76 |
|
| 285 | 285 | filter_t *p_filter = (filter_t *)p_this; |
|---|
| 286 | 286 | filter_sys_t *p_sys; |
|---|
| 287 | | vlc_object_t *p_libvlc_global = p_filter->p_libvlc_global; |
|---|
| | 287 | vlc_object_t *p_libvlc = p_filter->p_libvlc; |
|---|
| 288 | 288 | char *psz_order; |
|---|
| 289 | 289 | char *psz_offsets; |
|---|
| … | … | |
| 307 | 307 | vlc_mutex_lock( &p_sys->lock ); |
|---|
| 308 | 308 | |
|---|
| 309 | | var_Create( p_libvlc_global, "mosaic-lock", VLC_VAR_MUTEX ); |
|---|
| 310 | | var_Get( p_libvlc_global, "mosaic-lock", &val ); |
|---|
| | 309 | var_Create( p_libvlc, "mosaic-lock", VLC_VAR_MUTEX ); |
|---|
| | 310 | var_Get( p_libvlc, "mosaic-lock", &val ); |
|---|
| 311 | 311 | p_sys->p_lock = val.p_address; |
|---|
| 312 | 312 | |
|---|
| r2e0409a |
r4855a76 |
|
| 41 | 41 | static bridge_t *__GetBridge( vlc_object_t *p_object ) |
|---|
| 42 | 42 | { |
|---|
| 43 | | vlc_object_t *p_libvlc_global = p_object->p_libvlc_global; |
|---|
| | 43 | vlc_object_t *p_libvlc = p_object->p_libvlc; |
|---|
| 44 | 44 | bridge_t *p_bridge; |
|---|
| 45 | 45 | vlc_value_t val; |
|---|
| 46 | 46 | |
|---|
| 47 | | if( var_Get( p_libvlc_global, "mosaic-struct", &val ) != VLC_SUCCESS ) |
|---|
| | 47 | if( var_Get( p_libvlc, "mosaic-struct", &val ) != VLC_SUCCESS ) |
|---|
| 48 | 48 | { |
|---|
| 49 | 49 | p_bridge = NULL; |
|---|