[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-droid.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:gst-droid.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,8 +2,8 @@
<service name="tar_git">
<param name="url">https://github.com/sailfishos/gst-droid.git</param>
<param name="branch">master</param>
- <!-- use 0.20201104.0 or 0.20210304.0 for master revision or use branch upgrade-4.2.0-->
- <param name="revision">0.20210820.0</param>
+ <!-- use 0.20211101.0 or 0.20201104.0 or 0.20210304.0 for master revision or use branch upgrade-4.2.0-->
+ <param name="revision">0.20211101.0</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-droid-0.20211101.0.tar.gz/gst/droidcamsrc/gstdroidcamsrc.c
^
|
@@ -4,6 +4,7 @@
* Copyright (C) 2014 Mohammed Sameer
* Copyright (C) 2015-2021 Jolla Ltd.
* Copyright (C) 2010 Texas Instruments, Inc
+ * Copyright (C) 2021 Open Mobile Platform LLC.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -736,6 +737,17 @@
switch (transition) {
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ /**
+ * Send flush start to make sure the sink will drop its buffers.
+ *
+ * It is required to flush it before calling gst_droidcamsrc_dev_stop()
+ * to avoid deadlock in android::BufferQueueProducer::dequeueBuffer()
+ */
+ g_mutex_lock (&src->vfsrc->lock);
+ GST_INFO_OBJECT (src, "pushing flush start");
+ gst_pad_push_event (src->vfsrc->pad, gst_event_new_flush_start ());
+ g_mutex_unlock (&src->vfsrc->lock);
+
/* TODO: stop recording if we are recording */
gst_droidcamsrc_dev_stop (src->dev);
src->captures = 0;
@@ -746,11 +758,6 @@
src->active_mode = NULL;
}
- /* Send flush start to make sure the sink will drop its buffers */
- g_mutex_lock (&src->vfsrc->lock);
- GST_INFO_OBJECT (src, "pushing flush start");
- gst_pad_push_event (src->vfsrc->pad, gst_event_new_flush_start ());
- g_mutex_unlock (&src->vfsrc->lock);
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-droid-0.20211101.0.tar.gz/gst/droidcamsrc/gstdroidcamsrcdev.c
^
|
@@ -433,11 +433,13 @@
gst_droidcamsrc_dev_buffers_released (G_GNUC_UNUSED void *user)
{
GstDroidCamSrcDev *dev = (GstDroidCamSrcDev *) user;
- GstBufferPool *pool = gst_object_ref (dev->pool);
+ if (dev->pool) {
+ GstBufferPool *pool = gst_object_ref (dev->pool);
- if (pool) {
- gst_droid_buffer_pool_media_buffers_invalidated (pool);
- gst_object_unref (pool);
+ if (pool) {
+ gst_droid_buffer_pool_media_buffers_invalidated (pool);
+ gst_object_unref (pool);
+ }
}
}
@@ -446,12 +448,14 @@
{
GstDroidCamSrcDev *dev = (GstDroidCamSrcDev *) user;
bool ret = false;
- GstBufferPool *pool = gst_object_ref (dev->pool);
+ if (dev->pool) {
+ GstBufferPool *pool = gst_object_ref (dev->pool);
- if (pool) {
- ret = gst_droid_buffer_pool_bind_media_buffer (pool, buffer);
+ if (pool) {
+ ret = gst_droid_buffer_pool_bind_media_buffer (pool, buffer);
- gst_object_unref (pool);
+ gst_object_unref (pool);
+ }
}
return ret;
|