ret = media_format_get_video_info(format, &mimetype, &image_width, &image_height, NULL, NULL);
if (ret != MEDIA_PACKET_ERROR_NONE) {
+ if (media_format_unref(format) != MEDIA_PACKET_ERROR_NONE)
+ LOGE("media_format_unref() failed, mv_source_h fill skipped");
+
LOGE("media_format_get_video_info() failed, mv_source_h fill skipped");
return MEDIA_VISION_ERROR_INVALID_PARAMETER;
}
+ ret = media_format_unref(format);
+ if (ret != MEDIA_PACKET_ERROR_NONE) {
+ LOGE("media_format_unref() failed, mv_source_h fill skipped");
+ return MEDIA_VISION_ERROR_INVALID_PARAMETER;
+ }
if (mimetype > MEDIA_FORMAT_H261 && mimetype <= MEDIA_FORMAT_MPEG4_ASP) {
LOGE("Media format mimetype is not the raw video, mv_source_h fill skipped");
--- /dev/null
+#include <gtest/gtest.h>
+#include <mv_common.h>
+
+TEST(MediaPKT, Format)
+{
+ media_format_h media_fmt;
+ ASSERT_EQ(media_format_create(&media_fmt), MEDIA_FORMAT_ERROR_NONE);
+ ASSERT_EQ(media_format_unref(media_fmt), MEDIA_FORMAT_ERROR_NONE);
+}
+
+TEST(MediaPKT, Packet)
+{
+ media_format_h media_fmt;
+ media_packet_h media_pkt;
+ ASSERT_EQ(media_format_create(&media_fmt), MEDIA_FORMAT_ERROR_NONE);
+
+ media_format_set_video_mime(media_fmt, MEDIA_FORMAT_H264_HP);
+ media_format_set_video_width(media_fmt, 320);
+ media_format_set_video_height(media_fmt, 240);
+ media_format_set_video_avg_bps(media_fmt, 3000000);
+ media_format_set_video_max_bps(media_fmt, 15000000);
+
+ ASSERT_EQ(media_packet_new(media_fmt, NULL, NULL, &media_pkt), MEDIA_PACKET_ERROR_NONE);
+ ASSERT_EQ(media_packet_unref(media_pkt), MEDIA_PACKET_ERROR_NONE);
+ ASSERT_EQ(media_format_unref(media_fmt), MEDIA_FORMAT_ERROR_NONE);
+}
+
+TEST(MediaPKT, PacketToSource)
+{
+ media_format_h media_fmt;
+ media_packet_h media_pkt;
+ ASSERT_EQ(media_format_create(&media_fmt), MEDIA_FORMAT_ERROR_NONE);
+
+ media_format_set_video_mime(media_fmt, MEDIA_FORMAT_I420);
+ media_format_set_video_width(media_fmt, 320);
+ media_format_set_video_height(media_fmt, 240);
+
+ ASSERT_EQ(media_packet_new(media_fmt, NULL, NULL, &media_pkt), MEDIA_PACKET_ERROR_NONE);
+
+ mv_source_h mv_source;
+ ASSERT_EQ(mv_create_source(&mv_source), MEDIA_VISION_ERROR_NONE);
+ ASSERT_EQ(mv_source_fill_by_media_packet(mv_source, media_pkt), MEDIA_VISION_ERROR_INVALID_PARAMETER);
+ ASSERT_EQ(mv_destroy_source(mv_source), MEDIA_VISION_ERROR_NONE);
+ ASSERT_EQ(media_packet_unref(media_pkt), MEDIA_PACKET_ERROR_NONE);
+ ASSERT_EQ(media_format_unref(media_fmt), MEDIA_FORMAT_ERROR_NONE);
+}
\ No newline at end of file