]> git.sesse.net Git - vlc/blobdiff - src/video_output/video_output.c
Moved "sub-filter" from spu_t to vout_thread_t.
[vlc] / src / video_output / video_output.c
index 63ee9f83beae56c29f81c44eaea4d8cd1f092866..5b06f51b5add848718bfe0ededa329d66ec43d7a 100644 (file)
@@ -177,9 +177,6 @@ vout_thread_t *(vout_Create)(vlc_object_t *object, const video_format_t *fmt)
     /* Initialize subpicture unit */
     vout->p->p_spu = spu_Create(vout);
 
-    /* */
-    spu_Init(vout->p->p_spu);
-
     /* Take care of some "interface/control" related initialisations */
     vout_IntfInit(vout);
 
@@ -362,11 +359,6 @@ void vout_FlushSubpictureChannel( vout_thread_t *vout, int channel )
     spu_ClearChannel(vout->p->p_spu, channel);
 }
 
-spu_t *vout_GetSpu(vout_thread_t *vout)
-{
-    return vout->p->p_spu;
-}
-
 /* vout_Control* are usable by anyone at anytime */
 void vout_ControlChangeFullscreen(vout_thread_t *vout, bool fullscreen)
 {
@@ -429,6 +421,11 @@ void vout_ControlChangeFilters(vout_thread_t *vout, const char *filters)
     vout_control_PushString(&vout->p->control, VOUT_CONTROL_CHANGE_FILTERS,
                             filters);
 }
+void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters)
+{
+    vout_control_PushString(&vout->p->control, VOUT_CONTROL_CHANGE_SUB_FILTERS,
+                            filters);
+}
 
 /* */
 static picture_t *VoutVideoFilterNewPicture(filter_t *filter)
@@ -689,6 +686,11 @@ static void ThreadChangeFilters(vout_thread_t *vout, const char *filters)
     vlc_mutex_unlock(&vout->p->vfilter_lock);
 }
 
+static void ThreadChangeSubFilters(vout_thread_t *vout, const char *filters)
+{
+    spu_ChangeFilters(vout->p->p_spu, filters);
+}
+
 static void ThreadChangePause(vout_thread_t *vout, bool is_paused, mtime_t date)
 {
     assert(!vout->p->pause.is_on || !is_paused);
@@ -991,6 +993,9 @@ static void *Thread(void *object)
             case VOUT_CONTROL_CHANGE_FILTERS:
                 ThreadChangeFilters(vout, cmd.u.string);
                 break;
+            case VOUT_CONTROL_CHANGE_SUB_FILTERS:
+                ThreadChangeSubFilters(vout, cmd.u.string);
+                break;
             case VOUT_CONTROL_PAUSE:
                 ThreadChangePause(vout, cmd.u.pause.is_on, cmd.u.pause.date);
                 break;