2012-03-07 1 views
2

플러그인에서 새 요소 유형을 만드는 표준 방법은 this과 같은 모든 객체 매직을 가진 GstElement 유형의 gobject-style "derivation"입니다. .GStreamermm : Gst :: Element에서 파생하여 새로운 요소 유형을 만듭니다.

저는 GStreamer를 사용하는 C++ 프로젝트를 저의 목적에 맞게 전문적으로 작성하고 있습니다. 위에서 언급 한 방식으로 여러 플러그인을 작성했지만 코드에 만족하지는 않습니다. 너무 많은 내용 만 골격 요구 사항을 충족시키는 것입니다.

gstreamermm을 사용하는 것이 좋습니다. Gst :: Element에서 C++ 스타일 유도를 사용하여 새로운 유형의 요소를 만들 수 있습니까? (이미 플러그인에서 ++ gstreamermm와 C를 사용하고 가정) 훨씬 예뻐 솔루션이 될 것입니다

class MyElement: public Gst::Element 
{ 
    ... 
} 

: 내가 좋아하는 뭔가를 의미한다. 물론 우리는 진짜 타입의 객체를 필요로합니다.

+0

몇 밀리미터 래퍼를 사용했지만 gstreamer는 사용하지 않았습니다. 기본 클래스로 객체를 사용할 수 없다면 래퍼가 쓸모 없다고 생각할 수 있습니다. 따라서 작은 테스트 프로그램을 사용해보십시오. – ergosys

답변

1

적합한 항목을 찾지 못해 gstreamermm을 패치 했으므로 이러한 요소 등록을 허용합니다. https://github.com/peper0/gstreamermm-plugins을 참조하십시오. 지금까지는 테스트를 거치지 않았지만 몇 가지 기본적인 경우에 작동하는 것으로 보입니다. 버그보고 및 기능 요청이 만족 스러울 것입니다.

공지 사항 : 내 패치는 gstreamer 또는 gstreamermm 개발자가 어떤 식 으로든 승인하지 않으므로 이러한 프로젝트에서 수행 된 디자인 가정이 깨질 수 있습니다.

+0

나는 이것에 매우 흥미가 있으며, 나는 그것을 시험 할 것이다. gstreamermm을 사용하여 플러그인을 작성하는 방법에 대한 예로서 플러그인이 있습니까? gstreamermm에서 이러한 기능을 갖는 것이 좋을 것입니다. 이 문제에 대해 gstreamermm 개발자와 연락을 한 적이 있습니까? – vhdirk

+0

예제보기 : [여기] (https://github.com/peper0/gstreamermm-plugins/blob/gstpluginsmm/tests/test-plugin-register.cc) – peper0

+0

(편집 가능한 일반 코멘트 없음) 현재 간단한 한,하지만 난 GstPushSrc 및 다른 요소에 대한 기본 클래스를 사용하여 일하고 있어요. gstreamermm 개발자들과 연락을 취할 것이지만, 아직하지는 않았습니다. – peper0

관련 문제