VideoStream_Push.c 1.1 KB
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <time.h>  

#include "JZsdkLib.h"
#include "../VideoMgmt.h"
#include "version_choose.h"
#include "BaseConfig.h"
#include "JZsdk_network/JZsdk_network.h"

#if APP_VERSION == APP_PSDK
    #include "Dji_Control/DJI_VideoDeal.h"
#endif

//推流入口
T_JZsdkReturnCode VideoStream_PushFrame(unsigned char* h264_data, unsigned int data_len)
{
    //判断帧型
    if (h264_data[3] == 0x01 && h264_data[4] == 0x67)
    {
        printf("发送i帧\n");
    }
    else if (h264_data[3] == 0x01 && h264_data[4] == 0x41)
    {
        //printf("发送p帧\n");
    }
    else
    {
        JZSDK_LOG_ERROR("视频传输发送了错误帧\n");
        return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
    }

    //JZSDK_LOG_INFO("推送帧");
    
    //放入到对应的传输函数 
#if APP_VERSION == APP_PSDK
    //大疆模式,往大疆入口推流
    DJI_VideoDeal_Push_DJIH264Frame(h264_data, data_len);

#elif APP_VERSION == APP_UART
    JZsdk_NetWork_SentData(h264_data, data_len);
#endif

    return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}