[vlc-devel] [PATCH 1/8] filter_chain: uniform filter_chain_Append{Converter, Filter} return type

Victorien Le Couviour--Tuffet victorien.lecouviour.tuffet at gmail.com
Tue Jun 27 17:38:41 CEST 2017


---
 include/vlc_filter.h                 |  5 ++---
 modules/stream_out/transcode/video.c |  2 +-
 modules/video_chroma/chain.c         | 10 +++++-----
 src/misc/filter_chain.c              |  4 ++--
 src/video_output/display.c           |  3 ++-
 src/video_output/video_output.c      |  4 ++--
 6 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/include/vlc_filter.h b/include/vlc_filter.h
index a3ecc2c1b3..3db7281671 100644
--- a/include/vlc_filter.h
+++ b/include/vlc_filter.h
@@ -330,10 +330,9 @@ VLC_API filter_t *filter_chain_AppendFilter(filter_chain_t *chain,
  * \param chain filter chain to append a filter to
  * \param fmt_in filter input format
  * \param fmt_out filter output format
- * \retval 0 on success
- * \retval -1 on failure
+ * \return a pointer to the filter or NULL on error
  */
-VLC_API int filter_chain_AppendConverter(filter_chain_t *chain,
+VLC_API filter_t *filter_chain_AppendConverter(filter_chain_t *chain,
     const es_format_t *fmt_in, const es_format_t *fmt_out);
 
 /**
diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c
index 50b21bc0ff..b4bc000db3 100644
--- a/modules/stream_out/transcode/video.c
+++ b/modules/stream_out/transcode/video.c
@@ -69,7 +69,7 @@ static int video_update_format_decoder( decoder_t *p_dec )
     filter_chain_Reset( test_chain, &p_dec->fmt_out, &p_dec->fmt_out );
 
     int chain_works = filter_chain_AppendConverter( test_chain, &p_dec->fmt_out,
-                                  &id->p_encoder->fmt_in );
+                                                    &id->p_encoder->fmt_in ) != NULL ? 0 : -1;
     filter_chain_Delete( test_chain );
     msg_Dbg( stream, "Filter chain testing done, input chroma %4.4s seems to be %s for transcode",
                      (char *)&p_dec->fmt_out.video.i_chroma,
diff --git a/modules/video_chroma/chain.c b/modules/video_chroma/chain.c
index be4c26e611..eb20daa817 100644
--- a/modules/video_chroma/chain.c
+++ b/modules/video_chroma/chain.c
@@ -310,7 +310,7 @@ static int BuildFilterChain( filter_t *p_filter )
         video_format_FixRgb(&fmt_mid.video);
 
         if( filter_chain_AppendConverter( p_filter->p_sys->p_chain,
-                                          NULL, &fmt_mid ) == VLC_SUCCESS )
+                                          NULL, &fmt_mid ) )
         {
             if( filter_chain_AppendFilter( p_filter->p_sys->p_chain,
                                            p_filter->psz_name, p_filter->p_cfg,
@@ -355,8 +355,8 @@ static int CreateChain( filter_t *p_parent, es_format_t *p_fmt_mid )
     }
     else
     {
-        if( filter_chain_AppendConverter( p_parent->p_sys->p_chain,
-                                          NULL, p_fmt_mid ) )
+        if( !filter_chain_AppendConverter( p_parent->p_sys->p_chain,
+                                           NULL, p_fmt_mid ) )
             return VLC_EGENERIC;
     }
 
@@ -368,8 +368,8 @@ static int CreateChain( filter_t *p_parent, es_format_t *p_fmt_mid )
     }
     else
     {
-        if( filter_chain_AppendConverter( p_parent->p_sys->p_chain,
-                                          p_fmt_mid, NULL ) )
+        if( !filter_chain_AppendConverter( p_parent->p_sys->p_chain,
+                                           p_fmt_mid, NULL ) )
             goto error;
     }
     return VLC_SUCCESS;
diff --git a/src/misc/filter_chain.c b/src/misc/filter_chain.c
index 741a63c9ad..7e038dbbb8 100644
--- a/src/misc/filter_chain.c
+++ b/src/misc/filter_chain.c
@@ -274,11 +274,11 @@ filter_t *filter_chain_AppendFilter( filter_chain_t *chain,
                                      fmt_in, fmt_out );
 }
 
-int filter_chain_AppendConverter( filter_chain_t *chain,
+filter_t *filter_chain_AppendConverter( filter_chain_t *chain,
     const es_format_t *fmt_in, const es_format_t *fmt_out )
 {
     return filter_chain_AppendInner( chain, NULL, chain->conv_cap, NULL,
-                                     fmt_in, fmt_out ) != NULL ? 0 : -1;
+                                     fmt_in, fmt_out );
 }
 
 void filter_chain_DeleteFilter( filter_chain_t *chain, filter_t *filter )
diff --git a/src/video_output/display.c b/src/video_output/display.c
index aaa24b053d..57210df5fd 100644
--- a/src/video_output/display.c
+++ b/src/video_output/display.c
@@ -462,7 +462,8 @@ static int VoutDisplayCreateRender(vout_display_t *vd)
         es_format_InitFromVideo(&dst, i == 0 ? &v_dst : &v_dst_cmp);
 
         filter_chain_Reset(osys->filters, &src, &dst);
-        ret = filter_chain_AppendConverter(osys->filters, &src, &dst);
+        ret = filter_chain_AppendConverter(osys->filters, &src, &dst)
+            != NULL ? 0 : -1;
         es_format_Clean(&dst);
         if (ret == 0)
             break;
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index c1ddc6a4d5..e46859ddd1 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -854,8 +854,8 @@ static void ThreadChangeFilters(vout_thread_t *vout,
 
     if (!es_format_IsSimilar(&fmt_current, &fmt_target)) {
         msg_Dbg(vout, "Adding a filter to compensate for format changes");
-        if (filter_chain_AppendConverter(vout->p->filter.chain_interactive,
-                                         &fmt_current, &fmt_target) != 0) {
+        if (!filter_chain_AppendConverter(vout->p->filter.chain_interactive,
+                                          &fmt_current, &fmt_target)) {
             msg_Err(vout, "Failed to compensate for the format changes, removing all filters");
             ThreadDelAllFilterCallbacks(vout);
             filter_chain_Reset(vout->p->filter.chain_static,      &fmt_target, &fmt_target);
-- 
2.13.1



More information about the vlc-devel mailing list