ios – Gstreamer一次不播放多个流

我正在开发一个应用程序,它需要使用Gstreamer一次播放多个RTSP流,

单个流工作正常,因为我添加第二个流,第一个流停止,第二个开始播放,几秒后,它也停止和应用程序崩溃.

这是APP流视图的屏幕截图

当APP崩溃时,这个截图

我更新了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];
        });

}

我认为问题在于搜索路径.

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

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

点赞