amldmx: CB1 change jpeg to mjpeg [1/1]
PD#SWPL-178335
Problem:
the caps of mjpeg is image/jpeg in qtdemux
Solution:
change jpeg to mjpeg
Verify:
ap222
Signed-off-by: bo.xiao <bo.xiao@amlogic.com>
Change-Id: I1f712d3bb2b00077aa2ed98f38f5adab3105c555
diff --git a/aml-qtdemux/aml-qtdemux.c b/aml-qtdemux/aml-qtdemux.c
index 12120ad..0eed049 100644
--- a/aml-qtdemux/aml-qtdemux.c
+++ b/aml-qtdemux/aml-qtdemux.c
@@ -1465,7 +1465,7 @@
GstSeekFlags flags;
GstSeekType cur_type, stop_type;
gint64 cur, stop;
- gboolean flush, instant_rate_change;
+ gboolean flush;
gboolean update;
GstSegment seeksegment;
guint32 seqnum = GST_SEQNUM_INVALID;
@@ -1623,7 +1623,7 @@
{
GstSeekFlags flags = 0;
GstFormat seek_format;
- gboolean instant_rate_change;
+ //gboolean instant_rate_change;
#ifndef GST_DISABLE_GST_DEBUG
GstClockTime ts = gst_util_get_timestamp ();
@@ -3997,7 +3997,12 @@
gst_aml_qtdemux_append_protection_system_id (qtdemux, sysid_string);
+#if ((GST_VERSION_MAJOR == 1) && (GST_VERSION_MINOR >= 20))
+ pssh = gst_buffer_new_memdup (node->data, pssh_size);
+#else
pssh = gst_buffer_new_wrapped (g_memdup (node->data, pssh_size), pssh_size);
+#endif
+
GST_LOG_OBJECT (qtdemux, "cenc pssh size: %" G_GSIZE_FORMAT,
gst_buffer_get_size (pssh));
@@ -10139,7 +10144,7 @@
if (stream->elst_media_time != G_MAXUINT64 && AML_FOURCC_vide == stream->subtype)
{
cur->pts_offset = ctts_soffset - stream->elst_media_time;
- GST_DEBUG_OBJECT (qtdemux, "elst_media_time: %lld, new pts_offset: %lld", stream->elst_media_time, cur->pts_offset);
+ GST_DEBUG_OBJECT (qtdemux, "elst_media_time: %lld, new pts_offset: %d", stream->elst_media_time, cur->pts_offset);
} else {
cur->pts_offset = ctts_soffset;
}
@@ -10746,7 +10751,12 @@
return FALSE;
}
adrm_size = AML_QT_UINT32 (adrm->data);
+
+#if ((GST_VERSION_MAJOR == 1) && (GST_VERSION_MINOR >= 20))
+ adrm_buf = gst_buffer_new_memdup (adrm->data, adrm_size);
+#else
adrm_buf = gst_buffer_new_wrapped (g_memdup (adrm->data, adrm_size), adrm_size);
+#endif
stream->protection_scheme_type = AML_FOURCC_aavd;
@@ -10965,8 +10975,8 @@
GST_DEBUG ("entry type: %" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (sampleEntry));
GST_DEBUG ("dvConfig type: %" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (dvConfig));
- GST_DEBUG ("dv_profile: %d, dv_level: %d, dv_el_present_flag: %d, dv_bl_present_flag: %d",
- dv_profile, dv_level, dv_el_present_flag, dv_bl_present_flag);
+ GST_DEBUG ("dv_profile: %d, dv_level: %d, rpu_flag: %d, dv_el_present_flag: %d, dv_bl_present_flag: %d",
+ dv_profile, dv_level, rpu_present_flag, dv_el_present_flag, dv_bl_present_flag);
if (sampleEntry == AML_FOURCC_hev1 || sampleEntry == AML_FOURCC_hvc1)
{
@@ -11085,13 +11095,12 @@
gint sgpd_size;
guint32 sgpd_fourcc;
gint sgpd_version;
- gint sgpd_flag;
guint32 sgpd_group_type;
gint sgpd_default_len = -1;
guint sgpd_entry_cnt;
guint32 group_fourcc;
- guint metadata_type;
- guint metadata_specific_parameters;
+ guint metadata_type = 0;
+ guint metadata_specific_parameters = 0;
gboolean bRejectPlay = FALSE;
GST_DEBUG_OBJECT (qtdemux, "try to find sgpd");
@@ -14622,7 +14631,12 @@
if (offset + length[i] > codec_data_size)
goto error;
+#if ((GST_VERSION_MAJOR == 1) && (GST_VERSION_MINOR >= 20))
+ hdr = gst_buffer_new_memdup (p + offset, length[i]);
+#else
hdr = gst_buffer_new_wrapped (g_memdup (p + offset, length[i]), length[i]);
+#endif
+
list = g_list_append (list, hdr);
offset += length[i];
@@ -15007,8 +15021,9 @@
break;
case AML_FOURCC_jpeg:
_aml_codec ("JPEG still images");
+ GST_DEBUG_OBJECT (qtdemux, "JPEG still images");
caps =
- gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
+ gst_caps_new_simple ("video/mjpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
NULL);
break;
case GST_MAKE_FOURCC ('m', 'j', 'p', 'a'):
@@ -15016,8 +15031,9 @@
case GST_MAKE_FOURCC ('M', 'J', 'P', 'G'):
case GST_MAKE_FOURCC ('d', 'm', 'b', '1'):
_aml_codec ("Motion-JPEG");
+ GST_DEBUG_OBJECT (qtdemux, "Motion-JPEG");
caps =
- gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
+ gst_caps_new_simple ("video/mjpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
NULL);
break;
case GST_MAKE_FOURCC ('m', 'j', 'p', 'b'):