Android上的Gstreamer视频(Qt C ++)

时间:2016-04-12 15:02:14

标签: android c++ qt qt-creator gstreamer

我尝试通过Qt C ++在Android上使用Gstreamer。 我已经在这些平台上使用Gstreamer但现在我遇到了插件问题:

G_BEGIN_DECLS
GST_PLUGIN_STATIC_DECLARE(coreelements);
GST_PLUGIN_STATIC_DECLARE(audioconvert);
GST_PLUGIN_STATIC_DECLARE(playback);
G_END_DECLS
void MainWindow::play(){
    GST_PLUGIN_STATIC_REGISTER(coreelements);
    GST_PLUGIN_STATIC_REGISTER(audioconvert);
    GST_PLUGIN_STATIC_REGISTER(playback);

    GstElement *pipeline;
    GError *error = NULL;

    pipeline = gst_parse_launch("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-368p.ogv", &error);
    if (!pipeline) {
        ui->label->setText("error");
        return;
    }
    if(error != NULL){
        qDebug("GST error: ");
        qDebug(error->message);

    }else{
        qDebug("GST without errors");
    }

    gst_element_set_state(pipeline, GST_STATE_READY);
    gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(pipeline), this->ui->playback_widget->winId());
    gst_element_set_state(pipeline, GST_STATE_PLAYING);
    ui->label->setText("Playing...");
}

执行此代码后,我不会在playback_widget或音频中获得视频,但是错误var是明确的(等于NULL),标签设置为"播放..."。那么,也许我错过了什么?

0 个答案:

没有答案