*media_format_mime = MEDIA_FORMAT_VP9;
} else if (!g_strcmp0(mime, MEDIA_TYPE_VIDEO_H264)) {
*media_format_mime = MEDIA_FORMAT_H264_HP;
+ } else if (!g_strcmp0(mime, MEDIA_TYPE_VIDEO_JPEG)) {
+ *media_format_mime = MEDIA_FORMAT_MJPEG;
} else {
LOG_ERROR("not supported mime[%s]", mime);
return WEBRTC_ERROR_INVALID_PARAMETER;
CODEC_TYPE_THEORA,
CODEC_TYPE_H264,
CODEC_TYPE_H265,
+ CODEC_TYPE_JPEG,
CODEC_TYPE_NOT_SUPPORTED,
} codec_type_e;
[CODEC_TYPE_THEORA] = { "THEORA", 90000 },
[CODEC_TYPE_H264] = { "H264", 90000 },
[CODEC_TYPE_H265] = { "H265", 90000 },
+ [CODEC_TYPE_JPEG] = { "JPEG", 90000 },
};
static const char * __get_audio_media_type(const char *codec_name)
return MEDIA_TYPE_VIDEO_H264;
else if (!strcmp(codec_name, "h265") || !strcmp(codec_name, "H265"))
return MEDIA_TYPE_VIDEO_H265;
+ else if (!strcmp(codec_name, "jpeg") || !strcmp(codec_name, "JPEG") || !strcmp(codec_name, "mjpeg") || !strcmp(codec_name, "MJPEG"))
+ return MEDIA_TYPE_VIDEO_JPEG;
LOG_ERROR("not supported video codec_name[%s]", codec_name);
return CODEC_TYPE_H264;
else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_H265))
return CODEC_TYPE_H265;
+ else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_JPEG))
+ return CODEC_TYPE_JPEG;
return CODEC_TYPE_NOT_SUPPORTED;
}
case MEDIA_FORMAT_H264_MP: /* main profile */
case MEDIA_FORMAT_H264_HP: /* high profile */
return "H264";
+ case MEDIA_FORMAT_MJPEG:
+ return "JPEG";
default:
LOG_ERROR("not supported mime_type(0x%x)", mime_type);
return NULL;
case MEDIA_FORMAT_H264_SP:
case MEDIA_FORMAT_H264_MP:
case MEDIA_FORMAT_H264_HP:
+ case MEDIA_FORMAT_MJPEG:
LOG_INFO("[%s][ENCODED/%s] mime_type[0x%x]", mime_type & MEDIA_FORMAT_AUDIO ? "AUDIO" : "VIDEO",
__get_format_name(mime_type, false), mime_type);
return true;
RET_VAL_IF(media_type == NULL, NULL, "media_type is NULL");
- is_video = g_strrstr(media_type, "video") ? TRUE : FALSE;
+ is_video = (g_strrstr(media_type, "video") || g_strrstr(media_type, "image")) ? TRUE : FALSE;
codec_type = is_video ? __get_video_codec_type(media_type) : __get_audio_codec_type(media_type);
RET_VAL_IF(codec_type == CODEC_TYPE_NOT_SUPPORTED, NULL, "media_type[%s] is not supported", media_type);