houxiao
2017-08-11 c6968ba2fbd5e9f4e32fd5f62fd587f9a7d2ebc1
bug fix for rtsp server

git-svn-id: http://192.168.1.226/svn/proxy@1007 454eff88-639b-444f-9e54-f578c98de674
3个文件已修改
139 ■■■■ 已修改文件
VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp
@@ -95,8 +95,8 @@
    PipeLine::register_global_elem_creator("PL_RTSPClient", create_PL_RTSPClient);
    PipeLine::register_global_elem_creator("PL_AndroidMediaCodecDecoder", create_PL_AndroidMediaCodecDecoder);
    PipeLine::register_global_elem_creator("PL_AndroidSurfaceViewRender", create_PL_AndroidSurfaceViewRender);
    //PipeLine::register_global_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack);
    PipeLine::register_global_elem_creator("PL_SensetimeFaceTrackMitiTrd", create_PL_SensetimeFaceTrackMultiTrd);
    PipeLine::register_global_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack);
    //PipeLine::register_global_elem_creator("PL_SensetimeFaceTrackMitiTrd", create_PL_SensetimeFaceTrackMultiTrd);
    PipeLine::register_global_elem_creator("PL_Gainer", create_PL_Gainer);
    PipeLine::register_global_elem_creator("PL_Scale", create_PL_Scale);
    PipeLine::register_global_elem_creator("PL_ColorConv", create_PL_ColorConv);
@@ -145,7 +145,7 @@
        PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
        plScaleCfg.toWidth = 640;
        plScaleCfg.toHeight = 480;
        plScaleCfg.toHeight = 480;//#todo config
        ret = plScale->init(&plScaleCfg);
        if (!ret)
        {
@@ -153,21 +153,49 @@
            return  false;
        }
        PL_AndroidMediaCodecEncoder_Config amceCfg;
        amceCfg.ak_bit_rate = 5000000; // 512KB
        amceCfg.ak_color_format = 21; // COLOR_FormatYUV420SemiPlanar;
        //PL_ColorConv_Config PLColorConvCfg;
        //PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
        //ret = plColorConv->init(&PLColorConvCfg);
        //if (!ret)
        //{
        //    LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
        //    return  false;
        //}
        PL_Paint_Config plPaintCfg;
        plPaintCfg.fontPath = fontPath;
        plPaintCfg.plplCtx = &plplContext;
        PL_Paint* plPaint = (PL_Paint*)pipeLineRender->push_elem("PL_Paint");
        ret = plPaint->init(&plPaintCfg);
        if (!ret)
        {
            LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
            return  false;
        }
        //PL_AndroidSurfaceViewRender* asvRender = (PL_AndroidSurfaceViewRender*)pipeLineRender->push_elem("PL_AndroidSurfaceViewRender");
        //ret = asvRender->init(&asvrConfig);
        //if (!ret)
        //{
        //    LOG_ERROR << "pipeLineRender.asvRender init error" << LOG_ENDL;
        //    return  false;
        //}
        PL_AndroidMediaCodecEncoder_Config amceCfg;
        amceCfg.ak_bit_rate = 5000000; // 512KB
        amceCfg.ak_color_format = 21; // COLOR_FormatYUV420SemiPlanar;
        amceCfg.ak_frame_rate = 25;
        amceCfg.ak_height = 480;
        amceCfg.ak_i_frame_interval = 20;
        amceCfg.ak_mime = "video/avc";
        amceCfg.ak_width = 640;
        PL_AndroidMediaCodecEncoder* plAMCE = (PL_AndroidMediaCodecEncoder*)pipeLineRender->push_elem("PL_AndroidMediaCodecEncoder");
        ret = plAMCE->init(&amceCfg);
        if (!ret)
        {
            LOG_ERROR << "pipeLineRender.plAMCE init error" << LOG_ENDL;
            return  false;
        }
        amceCfg.ak_height = 480;
        amceCfg.ak_i_frame_interval = 20;
        amceCfg.ak_mime = "video/avc";
        amceCfg.ak_width = 640;
        PL_AndroidMediaCodecEncoder* plAMCE = (PL_AndroidMediaCodecEncoder*)pipeLineRender->push_elem("PL_AndroidMediaCodecEncoder");
        ret = plAMCE->init(&amceCfg);
        if (!ret)
        {
            LOG_ERROR << "pipeLineRender.plAMCE init error" << LOG_ENDL;
            return  false;
        }
        PL_RTSPServer2* plRtspServer = (PL_RTSPServer2*)pipeLineRender->push_elem("PL_RTSPServer2");
        RTSPServer2Config rtspServerConfig;
@@ -178,35 +206,7 @@
            LOG_ERROR << "pipeLineRender.plRtspServer init error" << LOG_ENDL;
            return  false;
        }
        //PL_ColorConv_Config PLColorConvCfg;
        //PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
        //ret = plColorConv->init(&PLColorConvCfg);
        //if (!ret)
        //{
        //    LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
        //    return  false;
        //}
        //PL_Paint_Config plPaintCfg;
        //plPaintCfg.fontPath = fontPath;
        //plPaintCfg.plplCtx = &plplContext;
        //PL_Paint* plPaint = (PL_Paint*)pipeLineRender->push_elem("PL_Paint");
        //ret = plPaint->init(&plPaintCfg);
        //if (!ret)
        //{
        //    LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
        //    return  false;
        //}
        //PL_AndroidSurfaceViewRender* asvRender = (PL_AndroidSurfaceViewRender*)pipeLineRender->push_elem("PL_AndroidSurfaceViewRender");
        //ret = asvRender->init(&asvrConfig);
        //if (!ret)
        //{
        //    LOG_ERROR << "pipeLineRender.asvRender init error" << LOG_ENDL;
        //    return  false;
        //}
    }
    }
    return true;
}
@@ -242,20 +242,20 @@
    //}
#ifdef USE_ST_SDK
//    PL_SensetimeFaceTrack *sfTrack = (PL_SensetimeFaceTrack *) pipeLineDecoderDetector->push_elem("PL_SensetimeFaceTrack");
//    ret = sfTrack->init(&sftConfig);
//    if (!ret)
//    {
//        LOG_ERROR << "pipeLineDecoderDetector.sfTrack.init error" << LOG_ENDL;
//        return false;
//    }
    PL_SensetimeFaceTrackMultiTrd *sfTrack = (PL_SensetimeFaceTrackMultiTrd *) pipeLineDecoderDetector->push_elem("PL_SensetimeFaceTrackMitiTrd");
    PL_SensetimeFaceTrack *sfTrack = (PL_SensetimeFaceTrack *) pipeLineDecoderDetector->push_elem("PL_SensetimeFaceTrack");//#todo   use multi
    ret = sfTrack->init(&sftConfig);
    if (!ret)
    {
        LOG_ERROR << "pipeLineDecoderDetector.sfTrack.init error" << LOG_ENDL;
        return false;
    }
    //PL_SensetimeFaceTrackMultiTrd *sfTrack = (PL_SensetimeFaceTrackMultiTrd *) pipeLineDecoderDetector->push_elem("PL_SensetimeFaceTrackMitiTrd");
    //ret = sfTrack->init(&sftConfig);
    //if (!ret)
    //{
    //    LOG_ERROR << "pipeLineDecoderDetector.sfTrack.init error" << LOG_ENDL;
    //    return false;
    //}
#endif
    return ret;
@@ -487,7 +487,6 @@
    {
        sleep(10);
        continue;//#todo
        if (time(nullptr) - cameraWrapper.lastAliveTime > 20)
        {
            PL_RTSPClient* rtspClient = (PL_RTSPClient*)cameraWrapper.pipeLineDecoderDetector->at(0);
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
@@ -45,25 +45,21 @@
{
void Java_cn_com_basic_face_util_RtspFaceNative_init(JNIEnv *env, jclass clazz)
    {
        g_logger.set_level(INFO);
{
g_logger.set_level(INFO);
        cpu_sched();
cpu_sched();
#ifdef USE_ST_SDK
    PipeLine::register_global_elem_creator("PL_SensetimeFaceTrackMitiTrd", create_PL_SensetimeFaceTrackMultiTrd);
#endif
for (size_t i = 0; i < CAMERA_COUNT; i++)
{
    g_CameraWrappers[i].cameraIdx = i + 1;
    for (size_t i = 0; i < CAMERA_COUNT; i++)
    {
        g_CameraWrappers[i].cameraIdx = i + 1;
    g_CameraWrappers[i].pipeLineDecoderDetector = new PipeLine;
    g_CameraWrappers[i].pipeLineRender = new PipeLine;
    //PipeLine& pipeLine(*(g_CameraWrappers[i].pipeLineDecoderDetector));
}
        g_CameraWrappers[i].pipeLineDecoderDetector = new PipeLine;
        g_CameraWrappers[i].pipeLineRender = new PipeLine;
        //PipeLine& pipeLine(*(g_CameraWrappers[i].pipeLineDecoderDetector));
    }
    g_TeleWrapper.start();
g_TeleWrapper.start();
}
void
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIServer.cpp
@@ -84,10 +84,6 @@
    cpu_sched();
#ifdef USE_ST_SDK
    PipeLine::register_global_elem_creator("PL_SensetimeFaceTrackMitiTrd", create_PL_SensetimeFaceTrackMultiTrd);
#endif
    for (size_t i = 0; i < CAMERA_COUNT; i++)
    {
        g_CameraWrappers[i].cameraIdx = i + 1;