[vlc-commits] commit: Merged vout_pictures.c with video_output.c. (Laurent Aimar )
git at videolan.org
git at videolan.org
Mon Oct 25 20:41:53 CEST 2010
vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Fri Oct 22 20:13:33 2010 +0200| [82676b9c941fe7e9c05a1d1758d4d4e4aa381a9b] | committer: Laurent Aimar
Merged vout_pictures.c with video_output.c.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=82676b9c941fe7e9c05a1d1758d4d4e4aa381a9b
---
src/Makefile.am | 1 -
src/video_output/video_output.c | 70 ++++++++++++++++++++++++
src/video_output/vout_pictures.c | 110 --------------------------------------
3 files changed, 70 insertions(+), 111 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 6d75584..5671b5c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -384,7 +384,6 @@ SOURCES_libvlc_common = \
video_output/postprocessing.c \
video_output/postprocessing.h \
video_output/video_output.c \
- video_output/vout_pictures.c \
video_output/video_text.c \
video_output/video_epg.c \
video_output/video_widgets.c \
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 915363c..124d689 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -368,6 +368,76 @@ void vout_FlushSubpictureChannel( vout_thread_t *vout, int channel )
channel);
}
+/**
+ * It retreives a picture from the vout or NULL if no pictures are
+ * available yet.
+ *
+ * You MUST call vout_PutPicture or vout_ReleasePicture on it.
+ *
+ * You may use vout_HoldPicture(paired with vout_ReleasePicture) to keep a
+ * read-only reference.
+ */
+picture_t *vout_GetPicture(vout_thread_t *vout)
+{
+ /* Get lock */
+ vlc_mutex_lock(&vout->p->picture_lock);
+ picture_t *picture = picture_pool_Get(vout->p->decoder_pool);
+ if (picture) {
+ picture_Reset(picture);
+ picture->p_next = NULL;
+ }
+ vlc_mutex_unlock(&vout->p->picture_lock);
+
+ return picture;
+}
+
+/**
+ * It gives to the vout a picture to be displayed.
+ *
+ * The given picture MUST comes from vout_GetPicture.
+ *
+ * Becareful, after vout_PutPicture is called, picture_t::p_next cannot be
+ * read/used.
+ */
+void vout_PutPicture(vout_thread_t *vout, picture_t *picture)
+{
+ vlc_mutex_lock(&vout->p->picture_lock);
+
+ picture->p_next = NULL;
+ picture_fifo_Push(vout->p->decoder_fifo, picture);
+
+ vlc_mutex_unlock(&vout->p->picture_lock);
+
+ vout_control_Wake(&vout->p->control);
+}
+
+/**
+ * It releases a picture retreived by vout_GetPicture.
+ */
+void vout_ReleasePicture(vout_thread_t *vout, picture_t *picture)
+{
+ vlc_mutex_lock(&vout->p->picture_lock);
+
+ picture_Release(picture);
+
+ vlc_mutex_unlock(&vout->p->picture_lock);
+
+ vout_control_Wake(&vout->p->control);
+}
+
+/**
+ * It increment the reference counter of a picture retreived by
+ * vout_GetPicture.
+ */
+void vout_HoldPicture(vout_thread_t *vout, picture_t *picture)
+{
+ vlc_mutex_lock(&vout->p->picture_lock);
+
+ picture_Hold(picture);
+
+ vlc_mutex_unlock(&vout->p->picture_lock);
+}
+
/* vout_Control* are usable by anyone at anytime */
void vout_ControlChangeFullscreen(vout_thread_t *vout, bool fullscreen)
{
diff --git a/src/video_output/vout_pictures.c b/src/video_output/vout_pictures.c
deleted file mode 100644
index cf98c2e..0000000
--- a/src/video_output/vout_pictures.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*****************************************************************************
- * vout_pictures.c :
- *****************************************************************************
- * Copyright (C) 2009-2010 Laurent Aimar
- * $Id$
- *
- * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-#include <assert.h>
-
-#include <vlc_common.h>
-#include <libvlc.h>
-#include <vlc_vout.h>
-#include <vlc_picture_fifo.h>
-#include <vlc_picture_pool.h>
-
-#include "vout_internal.h"
-
-/**
- * It retreives a picture from the vout or NULL if no pictures are
- * available yet.
- *
- * You MUST call vout_PutPicture or vout_ReleasePicture on it.
- *
- * You may use vout_HoldPicture(paired with vout_ReleasePicture) to keep a
- * read-only reference.
- */
-picture_t *vout_GetPicture( vout_thread_t *p_vout )
-{
- /* Get lock */
- vlc_mutex_lock( &p_vout->p->picture_lock );
- picture_t *p_pic = picture_pool_Get(p_vout->p->decoder_pool);
- if (p_pic) {
- picture_Reset(p_pic);
- p_pic->p_next = NULL;
- }
- vlc_mutex_unlock( &p_vout->p->picture_lock );
-
- return p_pic;
-}
-
-/**
- * It gives to the vout a picture to be displayed.
- *
- * The given picture MUST comes from vout_GetPicture.
- *
- * Becareful, after vout_PutPicture is called, picture_t::p_next cannot be
- * read/used.
- */
-void vout_PutPicture( vout_thread_t *p_vout, picture_t *p_pic )
-{
- vlc_mutex_lock( &p_vout->p->picture_lock );
-
- p_pic->p_next = NULL;
- picture_fifo_Push(p_vout->p->decoder_fifo, p_pic);
-
- vlc_mutex_unlock( &p_vout->p->picture_lock );
-
- vout_control_Wake( &p_vout->p->control);
-}
-
-/**
- * It releases a picture retreived by vout_GetPicture.
- */
-void vout_ReleasePicture( vout_thread_t *p_vout, picture_t *p_pic )
-{
- vlc_mutex_lock( &p_vout->p->picture_lock );
-
- picture_Release( p_pic );
-
- vlc_mutex_unlock( &p_vout->p->picture_lock );
-
- vout_control_Wake( &p_vout->p->control);
-}
-
-/**
- * It increment the reference counter of a picture retreived by
- * vout_GetPicture.
- */
-void vout_HoldPicture( vout_thread_t *p_vout, picture_t *p_pic )
-{
- vlc_mutex_lock( &p_vout->p->picture_lock );
-
- picture_Hold( p_pic );
-
- vlc_mutex_unlock( &p_vout->p->picture_lock );
-}
-
More information about the vlc-commits
mailing list