2013-12-06 1 views
1

В настоящее время я пытаюсь интегрировать GStreamer в проект iOS.GStreamer iOS, неспособный построить конвейер: нет элемента «playbin2»

Я загрузил gstreamer-1.0-devel-1.2.1-ios-universal.pkg и добавил в проект GStreamer.framework. Я последовал за учебники IOS на http://docs.gstreamer.com/display/GstSDK/iOS+tutorial+4%3A+A+basic+media+player, предыдущий учебник работает хорошо, но когда дело доходит до создания основной медиа-плеера, у меня всегда проблемы с началом трубопровода, ниже код я использую

-(void) app_function{ 
GstBus *bus; 
GSource *timeout_source; 
GSource *bus_source; 
GError *error = NULL; 

GST_DEBUG ("Creating pipeline"); 

/* Create our own GLib Main Context and make it the default one */ 
context = g_main_context_new(); 
g_main_context_push_thread_default(context); 

/* Build pipeline */ 
pipeline = gst_parse_launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", &error); 
if (error) { 
    gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message); 
    g_clear_error (&error); 
    [self setUIMessage:message]; 
    g_free (message); 
    return; 
} 
.... 
} 

И я получил ошибку : Невозможно построить конвейер: нет элемента «playbin2»

Я одинаково загружаю GStreamer для Mac с помощью того же метода (gst_parse_launch()), я могу запустить внутренний видеопроигрыватель для воспроизведения видео.

Я думаю, возможно, что плагин (playbin2) плохо установлен или настроен, я искал везде, надеясь найти решение, но я не нашел ... Любая помощь будет оценена.

Заранее спасибо

+0

@ Machhacks Вы нашли решение для игры uri? –

ответ

6

В версии 1.0 playbin2 был переименован в playbin

+0

Я использую playbin, но такая же ошибка произошла –

+0

Проверьте ответ ниже. Перед тем, как его использовать, необходимо инициализировать GStreamer. На простом C-коде это просто вызов функции gst_init. Не уверен в _ios_, но это должно быть сказано в документах. – thiagoss

+0

Да, я инициализировал и когда создаю конвейер, он не возвращает ни одного элемента в h264parse –

1

Я добавил gst_ios_init.h в main.m файл.

#import "gst_ios_init.h" 

int main(int argc, char *argv[]) 
{ 
gst_ios_init(); 

Оба gst_ios_init.h и gst_ios_init.m расположены в GStreamer учебнике. Вы должны добавить файлы в проект раньше, через file-> добавить файлы в «имя проекта».

Смежные вопросы