]> git.sesse.net Git - vlc/blobdiff - modules/access/mms/mmstu.c
Qt4 - add a warning about the composite thing.
[vlc] / modules / access / mms / mmstu.c
index 457ab56a8dc457127802daa10a4b0fcc77f1f801..9b38ea4799e961f76e386a3c7a942fa28862d97e 100644 (file)
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
-#include <stdlib.h>
 #include <vlc/vlc.h>
-#include <string.h>
-#include <vlc/input.h>
+#include <vlc_access.h>
+
 #include <errno.h>
 
 #ifdef HAVE_UNISTD_H
 #ifdef HAVE_SYS_TIME_H
 #   include <sys/time.h>
 #endif
-#ifdef HAVE_SYS_TYPES_H 
+#ifdef HAVE_SYS_TYPES_H
 #   include <sys/types.h>
 #endif
 #ifdef HAVE_SYS_STAT_H
 #   include <sys/stat.h>
 #endif
 
-#include "network.h"
+#include <vlc_network.h>
 #include "vlc_url.h"
 #include "asf.h"
 #include "buffer.h"
@@ -87,26 +86,6 @@ static int  mms_HeaderMediaRead( access_t *, int );
 static int  mms_ReceivePacket( access_t * );
 
 
-/*
- * XXX DON'T FREE MY MEMORY !!! XXX
- * non mais :P
- */
-/*
- * Ok, ok, j'le ferai plus...
- */
-/*
- * Merci :))
- */
-/*
- * Vous pourriez signer vos commentaires (m�e si on voit bien qui peut
- * �rire ce genre de trucs :p), et �rire en anglais, bordel de
- * merde :p.
- */
-/*
- * Alors la ouai �est fou les gens qui �rivent des commentaires sans les
- * signer. Ca m�iterait un coup de pied dans le cul � :)
- */
-
 int  E_(MMSTUOpen)( access_t *p_access )
 {
     access_sys_t   *p_sys;
@@ -133,6 +112,7 @@ int  E_(MMSTUOpen)( access_t *p_access )
     {
         msg_Err( p_access, "invalid server name" );
         vlc_UrlClean( &p_sys->url );
+        free( p_sys );
         return VLC_EGENERIC;
     }
     if( p_sys->url.i_port <= 0 )
@@ -172,6 +152,7 @@ int  E_(MMSTUOpen)( access_t *p_access )
     {
         msg_Err( p_access, "cannot connect to server" );
         vlc_UrlClean( &p_sys->url );
+        free( p_sys );
         return VLC_EGENERIC;
     }
 
@@ -202,8 +183,7 @@ int  E_(MMSTUOpen)( access_t *p_access )
     if( MMSStart( p_access, 0xffffffff ) < 0 )
     {
         msg_Err( p_access, "cannot start stream" );
-        MMSClose( p_access );
-        vlc_UrlClean( &p_sys->url );
+        E_(MMSTUClose) ( p_access );
         return VLC_EGENERIC;
     }
     return VLC_SUCCESS;
@@ -480,8 +460,8 @@ static int MMSOpen( access_t  *p_access, vlc_url_t *p_url, int  i_proto )
             return VLC_EGENERIC;
         }
 
-        p_sys->i_handle_udp = net_OpenUDP( p_access, p_sys->sz_bind_addr,
-                                           7000, "", 0 );
+        p_sys->i_handle_udp = net_ListenUDP1( (vlc_object_t *)p_access, p_sys->sz_bind_addr,
+                                              7000 );
         if( p_sys->i_handle_udp < 0 )
         {
             msg_Err( p_access, "failed to open a connection (udp)" );
@@ -678,7 +658,7 @@ static int MMSOpen( access_t  *p_access, vlc_url_t *p_url, int  i_proto )
         GetDWLE( p_sys->p_cmd + MMS_CMD_HEADERSIZE + 60 );
 
     msg_Dbg( p_access,
-             "answer 0x06 flags:0x%8.8x media_length:%us packet_length:%lu packet_count:%u max_bit_rate:%d header_size:%d",
+             "answer 0x06 flags:0x%8.8x media_length:%us packet_length:%ul packet_count:%u max_bit_rate:%d header_size:%d",
              p_sys->i_flags_broadcast,
              p_sys->i_media_length,
              p_sys->i_packet_length,
@@ -912,14 +892,14 @@ static void MMSClose( access_t  *p_access )
         net_Close( p_sys->i_handle_udp );
     }
 
-    FREE( p_sys->p_cmd );
-    FREE( p_sys->p_media );
-    FREE( p_sys->p_header );
+    FREENULL( p_sys->p_cmd );
+    FREENULL( p_sys->p_media );
+    FREENULL( p_sys->p_header );
 
-    FREE( p_sys->psz_server_version );
-    FREE( p_sys->psz_tool_version );
-    FREE( p_sys->psz_update_player_url );
-    FREE( p_sys->psz_encryption_type );
+    FREENULL( p_sys->psz_server_version );
+    FREENULL( p_sys->psz_tool_version );
+    FREENULL( p_sys->psz_update_player_url );
+    FREENULL( p_sys->psz_encryption_type );
 }
 
 /****************************************************************************
@@ -1081,7 +1061,7 @@ static int NetFillBuffer( access_t *p_access )
                            i_udp + MMS_BUFFER_SIZE/2, 0 );
     }
 
-#if MMS_DEBUG
+#ifdef MMS_DEBUG
     if( p_sys->i_proto == MMS_PROTO_UDP )
     {
         msg_Dbg( p_access, "filling buffer TCP:%d+%d UDP:%d+%d",
@@ -1236,14 +1216,15 @@ static int  mms_ParsePacket( access_t *p_access,
 
     if( i_packet_seq_num != p_sys->i_packet_seq_num )
     {
+#if 0
         /* FIXME for udp could be just wrong order ? */
         msg_Warn( p_access,
                   "detected packet lost (%d != %d)",
                   i_packet_seq_num,
                   p_sys->i_packet_seq_num );
-        p_sys->i_packet_seq_num = i_packet_seq_num;
+#endif
     }
-    p_sys->i_packet_seq_num++;
+    p_sys->i_packet_seq_num = i_packet_seq_num + 1;
 
     if( i_packet_id == p_sys->i_header_packet_id_type )
     {
@@ -1271,7 +1252,7 @@ static int  mms_ParsePacket( access_t *p_access,
     }
     else
     {
-        FREE( p_sys->p_media );
+        FREENULL( p_sys->p_media );
         p_sys->p_media = p_packet;
         p_sys->i_media = i_packet_length - 8;
         p_sys->i_media_used = 0;