gpt4 book ai didi

android - 在 Android gstreamer 中使用多个进程!!

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:47 27 4
gpt4 key购买 nike

我正在阅读 gstreamer 的 Android 教程。我想从一部安卓手机到另一部,like this .我读过这些问题:loading same gstreamer elements multiple times in a process ,和 JNI - multi threads ,但他们没有帮助我解决当前的问题。

我想做两个进程让安卓手机发送并接收音频!

在 Linux 上我会使用 fork(),像这样:

p = fork();
if p==0{
//pipeline1
}
else {
//pipeline2
}

但这在 Android 上不起作用,我收到此错误:

{
g_source_set_callback: assertion `source != NULL' failed
Fatal signal 11 (SIGSEGV) at 0x00000010 (code=1)
}

我该如何解决?

最佳答案

使用 GStreamer,您可以在同一个进程中运行 2 个管道,而不必担心线程问题,因为它已经在内部处理了。

void
start (GError **error) {
GstElement *pipe1;
GstElement *pipe2;

*error = NULL;
pipe1 = gst_parse_launch ("src ! enc ! mux ! sink", error);
if (*error != NULL)
return;
pipe2 = gst_parse_launch ("src ! demux ! dec ! sink", error);
if (*error != NULL)
return;
gst_element_set_state (pipe1, GST_STATE_PLAYING);
gst_element_set_state (pipe2, GST_STATE_PLAYING);
}

关于android - 在 Android gstreamer 中使用多个进程!!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312518/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com