summarylogtreecommitdiffstats
path: root/caca-fix-to-newer-version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'caca-fix-to-newer-version.patch')
-rw-r--r--caca-fix-to-newer-version.patch130
1 files changed, 130 insertions, 0 deletions
diff --git a/caca-fix-to-newer-version.patch b/caca-fix-to-newer-version.patch
new file mode 100644
index 000000000000..8a56f767a1b0
--- /dev/null
+++ b/caca-fix-to-newer-version.patch
@@ -0,0 +1,130 @@
+From 900318072a7ebce28745aa3863e1364b7258baff Mon Sep 17 00:00:00 2001
+From: Alexandre Janniaux <ajanni@videolabs.io>
+Date: Wed, 10 Nov 2021 15:37:52 +0100
+Subject: [PATCH] caca: fix to newer version
+
+Migrate to the new API instead of libcucul API, which has been merged
+into libcaca since 0.99.beta15:
+
+ commit f61816ceb7445f8bf818936151554ac060764b39
+ Author: Sam Hocevar <sam@hocevar.net>
+ Date: Sat Sep 27 13:12:46 2008 +0000
+
+ Starting refactoring to get rid of libcucul. The initial reason for the
+ split is rendered moot by the plugin system: when enabled, binaries do
+ not link directly with libX11 or libGL. I hope this is a step towards
+ more consisteny and clarity.
+
+It was then completely wiped out by the following commit, which is part
+of v0.99.beta20:
+
+ commit 5f0ec215f8c9915ed028324a8ecac8212f68e18d
+ Author: Sam Hocevar <sam@hocevar.net>
+ Date: Thu May 3 10:33:30 2018 +0200
+
+ Remove legacy code from 10 years ago.
+
+(cherry picked from commit d35391caa03c046149e7fe2497f51bf59ed8551d)
+---
+ modules/video_output/caca.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c
+index 33a0409820..a2e922a864 100644
+--- a/modules/video_output/caca.c
++++ b/modules/video_output/caca.c
+@@ -74,9 +74,9 @@ static void Place(vout_display_t *, vout_display_place_t *);
+
+ /* */
+ struct vout_display_sys_t {
+- cucul_canvas_t *cv;
++ caca_canvas_t *cv;
+ caca_display_t *dp;
+- cucul_dither_t *dither;
++ caca_dither_t *dither;
+
+ picture_pool_t *pool;
+ vout_display_event_thread_t *et;
+@@ -153,9 +153,9 @@ static int Open(vlc_object_t *object)
+ if (!sys)
+ goto error;
+
+- sys->cv = cucul_create_canvas(0, 0);
++ sys->cv = caca_create_canvas(0, 0);
+ if (!sys->cv) {
+- msg_Err(vd, "cannot initialize libcucul");
++ msg_Err(vd, "cannot initialize libcaca");
+ goto error;
+ }
+
+@@ -209,11 +209,11 @@ error:
+ if (sys->pool)
+ picture_pool_Release(sys->pool);
+ if (sys->dither)
+- cucul_free_dither(sys->dither);
++ caca_free_dither(sys->dither);
+ if (sys->dp)
+ caca_free_display(sys->dp);
+ if (sys->cv)
+- cucul_free_canvas(sys->cv);
++ caca_free_canvas(sys->cv);
+
+ free(sys);
+ }
+@@ -235,9 +235,9 @@ static void Close(vlc_object_t *object)
+ if (sys->pool)
+ picture_pool_Release(sys->pool);
+ if (sys->dither)
+- cucul_free_dither(sys->dither);
++ caca_free_dither(sys->dither);
+ caca_free_display(sys->dp);
+- cucul_free_canvas(sys->cv);
++ caca_free_canvas(sys->cv);
+
+ #if defined(_WIN32)
+ FreeConsole();
+@@ -266,7 +266,7 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic
+
+ if (!sys->dither) {
+ /* Create the libcaca dither object */
+- sys->dither = cucul_create_dither(32,
++ sys->dither = caca_create_dither(32,
+ vd->source.i_visible_width,
+ vd->source.i_visible_height,
+ picture->p[0].i_pitch,
+@@ -284,12 +284,12 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic
+ vout_display_place_t place;
+ Place(vd, &place);
+
+- cucul_set_color_ansi(sys->cv, CUCUL_COLOR_DEFAULT, CUCUL_COLOR_BLACK);
+- cucul_clear_canvas(sys->cv);
++ caca_set_color_ansi(sys->cv, CACA_DEFAULT, CACA_BLACK);
++ caca_clear_canvas(sys->cv);
+
+ const int crop_offset = vd->source.i_y_offset * picture->p->i_pitch +
+ vd->source.i_x_offset * picture->p->i_pixel_pitch;
+- cucul_dither_bitmap(sys->cv, place.x, place.y,
++ caca_dither_bitmap(sys->cv, place.x, place.y,
+ place.width, place.height,
+ sys->dither,
+ &picture->p->p_pixels[crop_offset]);
+@@ -328,7 +328,7 @@ static int Control(vout_display_t *vd, int query, va_list args)
+
+ case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
+ if (sys->dither)
+- cucul_free_dither(sys->dither);
++ caca_free_dither(sys->dither);
+ sys->dither = NULL;
+ return VLC_SUCCESS;
+
+@@ -366,8 +366,8 @@ static void Place(vout_display_t *vd, vout_display_place_t *place)
+
+ vout_display_PlacePicture(place, &vd->source, vd->cfg, false);
+
+- const int canvas_width = cucul_get_canvas_width(sys->cv);
+- const int canvas_height = cucul_get_canvas_height(sys->cv);
++ const int canvas_width = caca_get_canvas_width(sys->cv);
++ const int canvas_height = caca_get_canvas_height(sys->cv);
+ const int display_width = caca_get_display_width(sys->dp);
+ const int display_height = caca_get_display_height(sys->dp);
+