2014-06-16 75 views
2

我有一些問題,創建一個圖形過濾器,我一直在RET VAL得到一個錯誤-12,我不知道爲什麼,我確信buffersrc_ctx和filter_graph分配。avfilter_graph_create_filter,誤差值-12

我在哪裏可以去看看是什麼錯誤-12是,如果有人能告訴我,如果他們看到任何將不勝感激!

在此先感謝

_snprintf(args, sizeof(args), 
      "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%u", 
     pFormatCtx->streams[audioStream]->time_base.num, 
      pFormatCtx->streams[audioStream]->time_base.den, 
     dec_ctx->sample_rate, 
     av_get_sample_fmt_name(dec_ctx->sample_fmt), 
     dec_ctx->channel_layout); 

ret = avfilter_graph_create_filter(&buffersrc_ctx, 
            buffersrc, 
            NULL, args, NULL, filter_graph); 
+0

你應該張貼的具體錯誤。 –

+0

本質上正在發生的事情是返回碼出avfilter_graph_create_filter的返回-12和功能說如果小於0比它的錯誤。 – Godspped

+0

AVFilter * buffersrc = avfilter_get_by_name( 「abuffer」);我注意到,當我調用這個時,buffersrc仍然是NULL。這個電話有什麼問題嗎? – Godspped

回答

3

我相信這是某種來不及回答這個問題,但如果有人在同樣的問題絆倒,因爲我有,這可能幫助。

如果buffersrcNULL很可能是因爲您忘記與命令註冊過濾器:avfilter_register_all();

+0

你得到,如果「AVFilter」未註冊錯誤-12回來了,但不是因爲「buffersrc」爲NULL。 「buffersrc」在「avfilter_graph_create_filter」被初始化,因此它可以爲NULL。無論如何,反對票過於苛刻,因爲可能的解決方案是您答案的一部分。 – tweellt