3

http://docs.gstreamer.com/display/GstSDK/Tutorialsにある Gstreamer SDK チュートリアル を gstreamer 1.0 に移植しようとした人はいますか?

basic-tutorial-8.c を GstSDK から gstreamer 1.0 に移植してみました。最終結果は機能せず、実行時にエラーで終了します。

これが私がこれまでに行ったことです。私の主な助けの源は次のページでした: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-porting-1.0.html#section-porting-objects-1.0

  1. audio/x-raw-int を audio/x-raw に置き換え

  2. data.app_sink, "new-buffer" を data.app_sink, "new-sample" に置き換え

  3. 交換済み

    tee_src_pad_template = gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (data.tee), "src%d");
    

    tee_src_pad_template = gst_element_class_get_pad_template( GST_ELEMENT_GET_CLASS( data.tee ), "src_%u" ); 
    
  4. 交換済み

    raw = (gint16 *)GST_BUFFER_DATA (buffer);
    

GstMapInfo stGstMapInfo1;
gst_buffer_map( buffer, &stGstMapInfo1, (GstMapFlags)( GST_MAP_READ | GST_MAP_WRITE ) );
raw = (gint16 *)stGstMapInfo1.data;

. . .

/* Free the buffer now that we are done with it */
gst_buffer_unmap( buffer, &stGstMapInfo1 );
  • 5-「ffmpegcolorspace」を「videoconvert」に置き換えました

上記の変更後、プログラムをビルドして実行できますが、しばらくすると次のエラーが表示されます: 要素 audio_source から受信したエラー: 内部データ フロー エラー。デバッグ情報: gstbasesrc.c(2865): gst_base_src_loop (): /GstPipeline:test-pipeline/GstAppSrc:audio_source: ストリーミング タスクが一時停止、ネゴシエートされていない理由 (-4)

このチュートリアルの new_buffer と push_data 関数にもっと取り組む必要があると思います。

よろしくお願いいたします。

4

2 に答える 2

9

SDK チュートリアルは既にここに移植されています (GStreamer 開発者の 1 人によって):

http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/

于 2014-01-23T10:51:39.280 に答える