]> git.sesse.net Git - vlc/blobdiff - modules/codec/kate.c
macosx: Fix crashlog opening.
[vlc] / modules / codec / kate.c
index c6244e278efb58e4cd4d202e9bfce1844fe18878..2b28a201864577e79a61ef08df56bf50e1b6fb8e 100644 (file)
@@ -28,7 +28,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include <vlc_plugin.h>
 #include <vlc_input.h>
 #include <vlc_codec.h>
@@ -39,7 +39,7 @@
 
 /* #define ENABLE_PACKETIZER */
 /* #define ENABLE_FORMATTING */
-/* #define ENABLE_BITMAPS */
+#define ENABLE_BITMAPS
 
 /*****************************************************************************
  * decoder_sys_t : decoder descriptor
@@ -210,9 +210,12 @@ static subpicture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
     block_t *p_block;
     kate_packet kp;
 
-    if( !pp_block || !*pp_block ) return NULL;
+    if( !pp_block || !*pp_block )
+        return NULL;
 
     p_block = *pp_block;
+    if( p_block->i_rate != 0 )
+        p_block->i_length = p_block->i_length * p_block->i_rate / INPUT_RATE_DEFAULT;
 
     /* Block to Kate packet */
     kate_packet_wrap(&kp, p_block->i_buffer, p_block->p_buffer);
@@ -468,7 +471,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, kate_packet *p_kp, block_t
     p_spu->b_pausable = true;
 
 #ifdef ENABLE_BITMAPS
-    if (ev->bitmap && ev->palette) {
+    if (ev->bitmap && ev->bitmap->type==kate_bitmap_type_paletted && ev->palette) {
         /* create a separate region for the bitmap */
         memset( &fmt, 0, sizeof(video_format_t) );
         fmt.i_chroma = VLC_FOURCC('Y','U','V','P');
@@ -504,7 +507,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, kate_packet *p_kp, block_t
           memcpy(dest, src, ev->bitmap->width);
         }
 
-        msg_Dbg(p_dec, "Created bitmap, %dx%d, %d colors\n", ev->bitmap->width, ev->bitmap->height, ev->palette->ncolors);
+        msg_Dbg(p_dec, "Created bitmap, %zux%zu, %zu colors\n", ev->bitmap->width, ev->bitmap->height, ev->palette->ncolors);
     }
 #endif