diff options
author | Michael Grzeschik <m.grzeschik@pengutronix.de> | 2010-06-23 18:45:27 +0200 |
---|---|---|
committer | Michael Grzeschik <m.grzeschik@pengutronix.de> | 2010-06-23 18:45:27 +0200 |
commit | 0fb816f1bfdc15529ec3f0e95553e5e7bb35f531 (patch) | |
tree | aac1dbb99178f9c953a7de07e7ec52abc31c1da1 /patches | |
parent | dee596b721d29d45d721866b38cba693a72eab3d (diff) | |
download | ptxdist-0fb816f1bfdc15529ec3f0e95553e5e7bb35f531.tar.gz ptxdist-0fb816f1bfdc15529ec3f0e95553e5e7bb35f531.tar.xz |
[gst-plugins-base] patches for avidemux and gstv4l2sink
without these patches the communication between the plugins was not
functional after the transition from READY_TO_NULL back to NULL_TO_READY.
NOTE: The patches are already posted to bugzilla for mainlining and
hopefully will not be needed anymore in further releases.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Diffstat (limited to 'patches')
3 files changed, 71 insertions, 0 deletions
diff --git a/patches/gst-plugins-good-0.10.23/0001-gstavidemux-reset-the-have_index-flag-at-transition-.patch b/patches/gst-plugins-good-0.10.23/0001-gstavidemux-reset-the-have_index-flag-at-transition-.patch new file mode 100644 index 000000000..687f19e2c --- /dev/null +++ b/patches/gst-plugins-good-0.10.23/0001-gstavidemux-reset-the-have_index-flag-at-transition-.patch @@ -0,0 +1,26 @@ +From 15d09f55a687f5e5f26c5a5c7d9cabc36ee19512 Mon Sep 17 00:00:00 2001 +From: Michael Grzeschik <m.grzeschik@pengutronix.de> +Date: Wed, 23 Jun 2010 12:15:13 +0200 +Subject: [PATCH 1/2] [gstavidemux] reset the have_index flag at transition PAUSED_TO_READY + +If we restart the Stream in the case of doing a transition from +PAUSED_TO_READY and back with READY_TO_PAUSED aso. the duration of the video +will get calculated even if we have a avi header with that information. + +Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> +--- + gst/avi/gstavidemux.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +Index: gst-plugins-good-0.10.23/gst/avi/gstavidemux.c +=================================================================== +--- gst-plugins-good-0.10.23.orig/gst/avi/gstavidemux.c 2010-06-23 17:36:48.000000000 +0200 ++++ gst-plugins-good-0.10.23/gst/avi/gstavidemux.c 2010-06-23 17:36:50.000000000 +0200 +@@ -5345,6 +5345,7 @@ + + switch (transition) { + case GST_STATE_CHANGE_PAUSED_TO_READY: ++ avi->have_index = FALSE; + gst_avi_demux_reset (avi); + break; + default: diff --git a/patches/gst-plugins-good-0.10.23/0002-gstv4l2sink-destroy-open-buffers-when-changing-to-NU.patch b/patches/gst-plugins-good-0.10.23/0002-gstv4l2sink-destroy-open-buffers-when-changing-to-NU.patch new file mode 100644 index 000000000..b4b08f7bf --- /dev/null +++ b/patches/gst-plugins-good-0.10.23/0002-gstv4l2sink-destroy-open-buffers-when-changing-to-NU.patch @@ -0,0 +1,43 @@ +From 49e64005c4ed0a09ccf9ccb2b0e7521e64d21efd Mon Sep 17 00:00:00 2001 +From: Michael Grzeschik <m.grzeschik@pengutronix.de> +Date: Wed, 23 Jun 2010 11:47:43 +0200 +Subject: [PATCH 2/2] [gstv4l2sink] destroy open buffers when changing to NULL + +In the case we change the State from READY_TO_NULL the open buffers +still hold a open dup filedescriptor to the device, therefor the device +release function will not be called and the device probably answer with +-EBUSY when we reopen it at transition NULL_TO_READY. + +Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> +--- + sys/v4l2/gstv4l2sink.c | 10 +++------- + 1 files changed, 3 insertions(+), 7 deletions(-) + +Index: gst-plugins-good-0.10.23/sys/v4l2/gstv4l2sink.c +=================================================================== +--- gst-plugins-good-0.10.23.orig/sys/v4l2/gstv4l2sink.c 2010-06-23 17:36:47.000000000 +0200 ++++ gst-plugins-good-0.10.23/sys/v4l2/gstv4l2sink.c 2010-06-23 17:36:55.000000000 +0200 +@@ -461,6 +461,8 @@ + } + break; + case GST_STATE_CHANGE_READY_TO_NULL: ++ gst_v4l2_buffer_pool_destroy(v4l2sink->pool); ++ v4l2sink->pool=NULL; + /* close the device */ + if (!gst_v4l2_object_stop (v4l2sink->v4l2object)) + return GST_STATE_CHANGE_FAILURE; +@@ -557,13 +559,7 @@ + } + + if (v4l2sink->pool) { +- /* TODO: if we've already allocated buffers, we probably need to +- * do something here to free and reallocate.... +- * +- * gst_v4l2_object_stop_streaming() +- * gst_v4l2_buffer_pool_destroy() +- * +- */ ++ gst_v4l2_object_stop_streaming(v4l2sink->v4l2object); + GST_DEBUG_OBJECT (v4l2sink, "warning, changing caps not supported yet"); + return FALSE; + } diff --git a/patches/gst-plugins-good-0.10.23/series b/patches/gst-plugins-good-0.10.23/series new file mode 100644 index 000000000..8fcf4a27b --- /dev/null +++ b/patches/gst-plugins-good-0.10.23/series @@ -0,0 +1,2 @@ +0001-gstavidemux-reset-the-have_index-flag-at-transition-.patch +0002-gstv4l2sink-destroy-open-buffers-when-changing-to-NU.patch |