[vlc-commits] mmal: keep the subpicture from prepare

Steve Lhomme git at videolan.org
Fri Jan 10 11:41:02 CET 2020


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Fri Jan 10 11:38:25 2020 +0100| [cbefff838071ec4289f2040fbd98da7d25fce4e0] | committer: Steve Lhomme

mmal: keep the subpicture from prepare

So it can be handled during the display call.

Not sure it's possible to upload the subpictures during prepare. Even the
picture data are uploaded during the display phase. So for now we keep the code
working as it used to.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cbefff838071ec4289f2040fbd98da7d25fce4e0
---

 modules/hw/mmal/vout.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/hw/mmal/vout.c b/modules/hw/mmal/vout.c
index 238e76b3a0..21ffbb3527 100644
--- a/modules/hw/mmal/vout.c
+++ b/modules/hw/mmal/vout.c
@@ -137,6 +137,8 @@ struct vout_display_sys_t {
     bool b_top_field_first; /* cached interlaced settings to detect changes for native mode */
     bool b_progressive;
     bool opaque; /* indicated use of opaque picture format (zerocopy) */
+
+    subpicture_t *prepare_subpicture;
 };
 
 static const vlc_fourcc_t subpicture_chromas[] = {
@@ -562,6 +564,8 @@ static void vd_prepare(vout_display_t *vd, picture_t *picture,
     /* Apply the required phase_offset to the picture, so that vd_display()
      * will be called at the corrected time from the core */
     picture->date += sys->phase_offset;
+    /* trick for now as we don't get the subpicture during display anymore */
+    sys->prepare_subpicture = subpicture;
 }
 
 static void vd_display(vout_display_t *vd, picture_t *picture)
@@ -599,7 +603,7 @@ static void vd_display(vout_display_t *vd, picture_t *picture)
         pic_sys->displayed = true;
     }
 
-    display_subpicture(vd, NULL /*subpicture*/);
+    display_subpicture(vd, sys->prepare_subpicture);
 
     if (sys->next_phase_check == 0 && sys->adjust_refresh_rate)
         maintain_phase_sync(vd);



More information about the vlc-commits mailing list