[vlc-devel] [PATCH 10/11] picture_chain: pass a vlc_picture_chain_t to vlc_picture_chain_Pop/PeekFront

Steve Lhomme robux4 at ycbcr.xyz
Thu Sep 24 16:49:18 CEST 2020


---
 include/vlc_picture.h              | 10 +++++-----
 modules/hw/mmal/converter.c        |  2 +-
 modules/spu/mosaic.c               |  6 +++---
 modules/stream_out/mosaic_bridge.c |  2 +-
 src/misc/filter_chain.c            |  2 +-
 src/misc/picture_fifo.c            |  4 ++--
 src/video_output/snapshot.c        |  4 ++--
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/include/vlc_picture.h b/include/vlc_picture.h
index c19a8c91c9c..7ea85456a08 100644
--- a/include/vlc_picture.h
+++ b/include/vlc_picture.h
@@ -194,12 +194,12 @@ static inline bool vlc_picture_chain_IsEmpty(const vlc_picture_chain_t *chain)
  *
  * \return the front of the picture chain (the picture itself)
  */
-static inline picture_t * vlc_picture_chain_PopFront(picture_t **chain)
+static inline picture_t * vlc_picture_chain_PopFront(vlc_picture_chain_t *chain)
 {
-    picture_t *front = *chain;
+    picture_t *front = chain->front;
     if (front)
     {
-        *chain = front->p_next;
+        chain->front = front->p_next;
         // unlink the front picture from the rest of the chain
         front->p_next = NULL;
     }
@@ -213,9 +213,9 @@ static inline picture_t * vlc_picture_chain_PopFront(picture_t **chain)
  *
  * \return the front of the picture chain (the picture itself)
  */
-static inline picture_t * vlc_picture_chain_PeekFront(picture_t **chain)
+static inline picture_t * vlc_picture_chain_PeekFront(vlc_picture_chain_t *chain)
 {
-    return *chain;
+    return chain->front;
 }
 
 /**
diff --git a/modules/hw/mmal/converter.c b/modules/hw/mmal/converter.c
index c8af63a0782..bc1150b2da3 100644
--- a/modules/hw/mmal/converter.c
+++ b/modules/hw/mmal/converter.c
@@ -118,7 +118,7 @@ static MMAL_FOURCC_T pic_to_slice_mmal_fourcc(MMAL_FOURCC_T fcc)
 
 static picture_t * pic_fifo_get(vlc_picture_chain_t * const pf)
 {
-    return vlc_picture_chain_PopFront( &pf->front );
+    return vlc_picture_chain_PopFront( &pf );
 }
 
 static void pic_fifo_release_all(vlc_picture_chain_t * const pf)
diff --git a/modules/spu/mosaic.c b/modules/spu/mosaic.c
index c1c19653052..557f619992f 100644
--- a/modules/spu/mosaic.c
+++ b/modules/spu/mosaic.c
@@ -531,14 +531,14 @@ static subpicture_t *Filter( filter_t *p_filter, vlc_tick_t date )
 
         while ( !vlc_picture_chain_IsEmpty( &p_es->pictures ) )
         {
-            picture_t *front = vlc_picture_chain_PeekFront( &p_es->pictures.front );
+            picture_t *front = vlc_picture_chain_PeekFront( &p_es->pictures );
             if ( front->date + p_sys->i_delay >= date )
                 break; // front picture not late
 
             if ( picture_HasChainedPics( front ) )
             {
                 // front picture is late and has more pictures chained, skip it
-                front = vlc_picture_chain_PopFront( &p_es->pictures.front );
+                front = vlc_picture_chain_PopFront( &p_es->pictures );
                 picture_Release( front );
                 continue;
             }
@@ -589,7 +589,7 @@ static subpicture_t *Filter( filter_t *p_filter, vlc_tick_t date )
         video_format_Init( &fmt_in, 0 );
         video_format_Init( &fmt_out, 0 );
 
-        p_converted = vlc_picture_chain_PeekFront( &p_es->pictures.front );
+        p_converted = vlc_picture_chain_PeekFront( &p_es->pictures );
         if ( !p_sys->b_keep )
         {
             /* Convert the images */
diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c
index 38d32a311be..964c28e52d4 100644
--- a/modules/stream_out/mosaic_bridge.c
+++ b/modules/stream_out/mosaic_bridge.c
@@ -461,7 +461,7 @@ static void Del( sout_stream_t *p_stream, void *id )
     p_es->b_empty = true;
     while ( !vlc_picture_chain_IsEmpty( &p_es->pictures ) )
     {
-        picture_t *es_picture = vlc_picture_chain_PopFront( &p_es->pictures.front );
+        picture_t *es_picture = vlc_picture_chain_PopFront( &p_es->pictures );
         picture_Release( es_picture );
     }
 
diff --git a/src/misc/filter_chain.c b/src/misc/filter_chain.c
index f32fd1b6798..dcc27dd8f94 100644
--- a/src/misc/filter_chain.c
+++ b/src/misc/filter_chain.c
@@ -532,7 +532,7 @@ static void FilterDeletePictures( vlc_picture_chain_t *pictures )
 {
     while( !vlc_picture_chain_IsEmpty( pictures ) )
     {
-        picture_t *next = vlc_picture_chain_PopFront( &pictures->front );
+        picture_t *next = vlc_picture_chain_PopFront( pictures );
         picture_Release( next );
     }
 }
diff --git a/src/misc/picture_fifo.c b/src/misc/picture_fifo.c
index ae1c66c2ada..9178166765f 100644
--- a/src/misc/picture_fifo.c
+++ b/src/misc/picture_fifo.c
@@ -52,7 +52,7 @@ static void PictureFifoPush(picture_fifo_t *fifo, picture_t *picture)
 }
 static picture_t *PictureFifoPop(picture_fifo_t *fifo)
 {
-    return vlc_picture_chain_PopFront( &fifo->pics.front );
+    return vlc_picture_chain_PopFront( &fifo->pics );
 }
 
 picture_fifo_t *picture_fifo_New(void)
@@ -101,7 +101,7 @@ void picture_fifo_Flush(picture_fifo_t *fifo, vlc_tick_t date, bool flush_before
     PictureFifoReset(&tmp);
 
     while ( !vlc_picture_chain_IsEmpty( &old_chain ) ) {
-        picture_t *picture = vlc_picture_chain_PopFront( &old_chain.front );
+        picture_t *picture = vlc_picture_chain_PopFront( &old_chain );
 
         if ((date == VLC_TICK_INVALID) ||
             ( flush_before && picture->date <= date) ||
diff --git a/src/video_output/snapshot.c b/src/video_output/snapshot.c
index 485e37eb717..5213428bcc8 100644
--- a/src/video_output/snapshot.c
+++ b/src/video_output/snapshot.c
@@ -70,7 +70,7 @@ void vout_snapshot_Destroy(vout_snapshot_t *snap)
         return;
 
     while ( !vlc_picture_chain_IsEmpty( &snap->pics ) ) {
-        picture_t *picture = vlc_picture_chain_PopFront( &snap->pics.front );
+        picture_t *picture = vlc_picture_chain_PopFront( &snap->pics );
         picture_Release(picture);
     }
 
@@ -108,7 +108,7 @@ picture_t *vout_snapshot_Get(vout_snapshot_t *snap, vlc_tick_t timeout)
         vlc_cond_timedwait(&snap->wait, &snap->lock, deadline) == 0);
 
     /* */
-    picture_t *picture = vlc_picture_chain_PopFront( &snap->pics.front );
+    picture_t *picture = vlc_picture_chain_PopFront( &snap->pics );
     if (!picture && snap->request_count > 0)
         snap->request_count--;
 
-- 
2.26.2



More information about the vlc-devel mailing list