[1.0.20] Fix bug for push media packet 56/291156/1
authorGilbok Lee <gilbok.lee@samsung.com>
Tue, 11 Apr 2023 02:33:50 +0000 (11:33 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Tue, 11 Apr 2023 02:33:51 +0000 (11:33 +0900)
- missing media_packet_ref() when media packet has tbm_surface
- Add layout field for audio format

Change-Id: I26183abbcfaadadd5888ffe6c351cb2416cea5ac

packaging/capi-media-transporter.spec
src/MediaSourceBinMediaPacket.cpp
test/mtpr_test_with_camera.c

index 00113714fe840d07f1507e8e0f211eb005781eab..c9e9a305c4697f86b482b1f76c8294a9b364458b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-transporter
 Summary:    A Media Transporter library in Tizen Native API
-Version:    1.0.19
+Version:    1.0.20
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 91b5f0c7412f0e20dcdb876a2e50e295dd92845e..cf78af5a09f30bccb124d2e933d3f7203682a20c 100644 (file)
@@ -194,9 +194,7 @@ void MediaSourceBinMediaPacket::_makeCapsFromMediaFormat(media_format_h format)
 
 static void memoryFinalizeCallback(media_packet_h packet)
 {
-       LOG_DEBUG("packet[%p] about to release", packet);
-
-       media_packet_destroy(packet);
+       media_packet_unref(packet);
 }
 
 GstBuffer* MediaSourceBinMediaPacket::_tbmSurfaceMediaPacketToGstBuffer(media_packet_h packet)
@@ -234,6 +232,8 @@ GstBuffer* MediaSourceBinMediaPacket::_tbmSurfaceMediaPacketToGstBuffer(media_pa
                throw MediaTransporterException(MTPR_ERROR_INVALID_OPERATION, "failed to gst_tizen_allocator_alloc_surface()");
        }
 
+       media_packet_ref(packet);
+
        if (pts != CLOCK_TIME_NONE)
                GST_BUFFER_PTS(gstBuffer) = static_cast<GstClockTime>(pts);
 
@@ -388,7 +388,8 @@ void MediaSourceBinMediaPacket::_makeAudioCapsFromMediaFormat(media_format_h for
        caps = gst_caps_new_empty_simple(mime.c_str());
 
        if (!audioFormat.empty()) {
-               gst_caps_set_simple(caps, "format", G_TYPE_STRING, audioFormat.c_str(), nullptr);
+               gst_caps_set_simple(caps, "format", G_TYPE_STRING, audioFormat.c_str(),
+                       "layout", G_TYPE_STRING, "interleaved", nullptr);
                _audioInfo.format = audioFormat;
        }
 
index 2655e04b18baf31229db24743be4d823c250bff3..7aba90bfc3365378cdd6822fd0a2933f5f600715 100644 (file)
@@ -108,6 +108,7 @@ void _mtpr_test_camera_packet_src_start()
 
 void _mtrp_test_camera_packet_src_stop()
 {
+       g_camera_src->push_packet = false;
        camera_stop_preview(g_camera_src->camera);
 }