查看VLC的源码,发现VLC专门有variables.h和variables.c是用来处理变量的。它提供了一些方法可以创建VLC变量、设置VLC变量、改变、销毁VLC变量等。
当我们要产生一个VLC变量的时候,我们使用var_Create()函数;
如在UDP模块创建了一个变量,
vlc_value_t valTemp;
var_Create( p_access, "var_test", VLC_VAR_STRING );
valTemp.psz_string = "hello ";
var_Set( p_access, "var_test", valTemp );
这样就创建了一个名为“var_test”的VLC_VAR_STRING变量并且设置它的值为"hello".
创建完之后,考试大提问:我们在其他的模块怎么访问它呢?
比如在Marq.c里面访问这个变量,如下所示:
vlc_value_t val_test;
vlc_list_t *p_list;
module_t *p_module;
access_t *p_access;
int i;
val_test.psz_string = " ";
p_list = vlc_list_find( p_filter->p_vlc, VLC_OBJECT_ACCESS, FIND_ANYWHERE );
for( i = 0; i < p_list->i_count; i++ )
{
p_access = (access_t *)p_list->p_values[i].p_object;
//p_module = (module_t *)p_list->p_values[i].p_object;
if ( var_Get( p_access, "var_test", &val_test ) == VLC_SUCCESS )
{
msg_Dbg( p_filter, "=======::::val_test=:%s", val_test.psz_string);
break;
}
//p_intf = NULL;
}
vlc_list_release ( p_list );
这样,我们在marq.c这个模块里面就可以得到"var_test"的值了。
本文来自 280文秘网(https://www.it280.com),转载请保留网址和出处
【VLC各个Module模块之间共享变量的实现方法】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
2012宁夏高考报名方式03-23
Vb中控件的自动排列03-23
写未来的作文300字03-23
Our Mother Is the Same 我们的妈妈是一样的03-23
中国大地保险公司实习报告03-23
小学父爱的作文600字03-23
2018国家电网新大纲财会类市场模拟卷多选题(二)03-23
汪涵讲述小时候成长经历:鸡毛掸子的故事03-23
2023年广东梅州中考成绩查询时间及查分入口[7月7日起]03-23
关于清明节的英语作文:清明节03-23
