Gstreamer一次不播放多个流

时间:2014-12-29 08:05:13

标签: ios iphone xcode gstreamer rtsp

我正在开发一款需要使用Gstreamer一次播放多个RTSP流的应用, 单个流工作正常,因为我添加了第二个流,第一个流停止,第二个流开始播放,几秒后,它也停止并且应用程序崩溃。

这是APP流视图的屏幕截图 APP screenview

和APP崩溃时的截图

app crash screen

我更新了Gstreamer.framework,搜索并尝试了不同的解决方案。但没有任何效果

这是我用于管道流的代码示例

#import "VideoViewController.h"
#import "GStreamerBackend.h"
#import <UIKit/UIKit.h>

@interface VideoViewController () {
    GStreamerBackend *gst_backend;
    GStreamerBackend *gst_backend1;
    int media_width;                /* Width of the clip */
    int media_height;               /* height ofthe clip */
    Boolean dragging_slider;        /* Whether the time slider is being dragged or not */
    Boolean is_local_media;         /* Whether this clip is stored locally or is being streamed */
    Boolean is_playing_desired;     /* Whether the user asked to go to PLAYING */
}

在viewDidLoad中:

url1= my first url
url2=my second URL

这里我初始化了我的2个流。

gst_backend = [[GStreamerBackend alloc] init:self videoView:video_view];

gst_backend1 = [[GStreamerBackend alloc] init:self videoView:video_view1];

调用此委托方法:

-(void) gstreamerInitialized
{

        dispatch_async(dispatch_get_main_queue(), ^{
            firstInit=YES;
            play_button.enabled = TRUE;
            pause_button.enabled = TRUE;
            message_label.text = @"Ready";
            [gst_backend setUri:uri];
             [gst_backend1 setUri:uri2];
            //is_local_media = [uri hasPrefix:@"file://"];
            //is_playing_desired = NO;

           [gst_backend1 play];
             [gst_backend play];
        });

}

我认为问题出在搜索路径上。 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的GStreamer?我记得很久以前确切地修复了这个bug,你可以在这里找到有关它的详细信息:https://bugzilla.gnome.org/show_bug.cgi?id=720421

最好的方法是使用此处的最新二进制文件:http://gstreamer.freedesktop.org/data/pkg/ios/1.4.5/