GStreamer使用playbin,如何给动态生成的source组件设置属性?

static   void  cb_playbin_notify_source(GObject  * obj, GParamSpec  * param, gpointer u_data)
{
    
//  check whether this is rtsp source
    gchar  * objname  =  GST_OBJECT_NAME(obj);
    g_message(
" objname is %s " , objname);

    
//  check whether has a `protocols' property
     if  (g_object_class_find_property(G_OBJECT_GET_CLASS(obj),  " source " )) {
        GObject 
* source_element;
        g_object_get(obj, 
" source " & source_element, NULL);
        
if  (g_object_class_find_property(G_OBJECT_GET_CLASS(source_element),  " protocols " )) {
            g_object_set(source_element, 
" protocols " 1 , NULL);
        }
        g_object_unref(source_element);
    }
}


//  connect signal
    g_signal_connect(G_OBJECT(playbin),  " notify::source " , G_CALLBACK(cb_playbin_notify_source), NULL);

 

转载于:https://www.cnblogs.com/super119/archive/2011/01/03/1924440.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值