]> git.sesse.net Git - vlc/commitdiff
* ffmpeg: disable direct rendering when width or height aren't a multiple
authorLaurent Aimar <fenrir@videolan.org>
Sat, 28 Jun 2003 23:56:31 +0000 (23:56 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 28 Jun 2003 23:56:31 +0000 (23:56 +0000)
of 16 (on the fly not only based upon header).

 * httpd: test if INADDR_ANY is bind when requesting a host. (To be able to
use http interface with http streaming).

modules/codec/ffmpeg/video.c
modules/misc/httpd.c

index 01f45e5fa60aded8a493ffea9f400bdf8cd51f55..5fb66fb856950df510b9bf1fddaafcea9c532f40 100644 (file)
@@ -2,7 +2,7 @@
  * video.c: video decoder using ffmpeg library
  *****************************************************************************
  * Copyright (C) 1999-2001 VideoLAN
- * $Id: video.c,v 1.33 2003/06/28 21:16:57 fenrir Exp $
+ * $Id: video.c,v 1.34 2003/06/28 23:56:31 fenrir Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Gildas Bazin <gbazin@netcourrier.com>
@@ -763,7 +763,8 @@ static int ffmpeg_GetFrameBuf( struct AVCodecContext *p_context,
 
     /* Some codecs set pix_fmt only after the 1st frame has been decoded,
      * so this check is necessary. */
-    if( !ffmpeg_PixFmtToChroma( p_context->pix_fmt ) )
+    if( !ffmpeg_PixFmtToChroma( p_context->pix_fmt ) ||
+        !(p_vdec->p_context->width % 16) || !(p_vdec->p_context->height % 16) )
     {
         p_context->get_buffer = avcodec_default_get_buffer;
         p_context->release_buffer = avcodec_default_release_buffer;
index 8e51938c4e2374857ef0171e420fe871ca68ac6d..ae2c6e715036e79b287272d6fb53ae022901657f 100644 (file)
@@ -2,7 +2,7 @@
  * httpd.c
  *****************************************************************************
  * Copyright (C) 2001-2003 VideoLAN
- * $Id: httpd.c,v 1.15 2003/06/23 23:51:31 gbazin Exp $
+ * $Id: httpd.c,v 1.16 2003/06/28 23:56:30 fenrir Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -436,7 +436,8 @@ static httpd_host_t *_RegisterHost( httpd_sys_t *p_httpt, char *psz_host_addr, i
     for( i = 0; i < p_httpt->i_host_count; i++ )
     {
         if( p_httpt->host[i]->sock.sin_port == sock.sin_port &&
-            p_httpt->host[i]->sock.sin_addr.s_addr == sock.sin_addr.s_addr )
+            ( p_httpt->host[i]->sock.sin_addr.s_addr == INADDR_ANY ||
+              p_httpt->host[i]->sock.sin_addr.s_addr == sock.sin_addr.s_addr ) )
         {
             break;
         }