0

いくつかのチュートリアルを正常に実行した後、サンプルの appsrc コードをコンパイルして実行しようとしています。これはドキュメンテーション コードであり、実行されるはずですが ...

コンパイルに使用するコマンド

gcc appGuideAppSrc.c -o appGuide `pkg-config --cflags --libs gstreamer-0.10 gstreamer-app-0.10`  

後に次のエラーが発生しました

appGuideAppSrc.c: In function ‘cb_need_data’:  
appGuideAppSrc.c:14:8: warning: assignment makes pointer from integer without a cast [enabled by default]  
appGuideAppSrc.c:18:25: error: lvalue required as left operand of assignment  

わかりました、警告は問題ありませんが、エラーがスローされる行は問題ないようです

   GST_BUFFER_PTS (buffer) = timestamp;

以下の@Michalからの回答に基づいて、TIMESTAMPに変更し、次のエラーが発生しました

(appGuide:11043): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed

(appGuide:11043): GStreamer-CRITICAL **: gst_bin_add_many: assertion `GST_IS_ELEMENT (element_1)' failed  

(appGuide:11043): GStreamer-CRITICAL **: gst_element_link_many: assertion `GST_IS_ELEMENT (element_1)' failed  

(appGuide:11043): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed  

(appGuide:11043): GLib-GObject-WARNING **: invalid (NULL) pointer instance  

(appGuide:11043): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion  `G_TYPE_CHECK_INSTANCE (instance)' failed  

入力はありますか?

参考資料:
appsrcサンプルコード全体

4

1 に答える 1

1

古いバージョンの gstreamer: 0.10 で gstreamer-1.0 の例をコンパイルしようとしているようです。

GST_BUFFER_PTSgstreamer-0.11で導入され、 gstreamer-0.10 まで利用可能GST_BUFFER_DTSに置き換えられました。GST_BUFFER_TIMESTAMP

新しい gstreamer バージョンを使用するか、に変更GST_BUFFER_PTSしてGST_BUFFER_TIMESTAMPください。

于 2013-08-25T12:48:32.547 に答える