首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RTMP_Init“分段故障”

RTMP_Init“分段故障”
EN

Stack Overflow用户
提问于 2019-12-13 14:36:59
回答 1查看 63关注 0票数 0

在ubuntu16.04中使用"sudo apt-get librtmp-dev".I安装librtmp成功地编译了代码,但我在RTMP_Init()中得到了一个“分割错误”.Here是我的rtmp_test代码:

主要功能:

代码语言:javascript
运行
复制
int main(int argc,char *argv[]){
    printf("11111\n");
    if (RTMP264_Connect("rtmp://**********") == TRUE){
        printf("connect successful");
    }
    printf("22222222\n");
    return 0;
}

RTMP264_Connect函数:

代码语言:javascript
运行
复制
int RTMP264_Connect(const char * url){
    printf("~~~~~~~1\n");
    RTMP_Init(m_Rtmp);
    printf("~~~~~~~2\n");
    if(RTMP_SetupURL(m_Rtmp,(char*)url) == FALSE){
        RTMP_Free(m_Rtmp);
        return FALSE;
    }
    printf("~~~~~~~3\n");
    RTMP_EnableWrite(m_Rtmp);
    if(RTMP_Connect(m_Rtmp,NULL)==FALSE){
        RTMP_Free(m_Rtmp);
        return FALSE;
    }

当我运行代码时,我得到了这个错误:

代码语言:javascript
运行
复制
11111
aaaa
~~~~~~~1
Segmentation fault

所以我确定问题出在RTMP_init函数上,我在网上看到有人说可能是socket没有初始化。我找到了一个套接字初始化代码:

代码语言:javascript
运行
复制
int InitSockets()
{
#ifdef WIN32

    WORD version;
    WSADATA wsaData;
    version = MAKEWORD(1, 1);
    return (WSAStartup(version, &wsaData) == 0);
#endif
}

void CleanupSockets()
{
#ifdef WIN32
    WSACleanup();
#endif
}

但这是针对Windows系统的。如果我在Ubuntu上运行,我会报告一个错误。我不知道我的问题是否与套接字不是initialized.Could有关谁告诉我如何解决我的问题,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-12-13 14:43:40

根据documentation的说法

基本交互如下所示。会话句柄使用RTMP_Alloc()创建,并使用RTMP_Init()初始化。

因为您还没有调用RTMP_Alloc,所以这可能是段错误的原因

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59317320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档