Commit d6809386 authored by Christophe Massiot's avatar Christophe Massiot

* IPv6 multicast support, courtesy of Remco Poortinga <poortinga@telin.nl> ;

* Mac OS X icons and fixes, courtesy of Benjamin Mironer <bmironer@noos.fr>.
parent cee79ce4
...@@ -299,6 +299,10 @@ D: Many ports (Mac OS X, iPAQ, *BSD, Solaris...) ...@@ -299,6 +299,10 @@ D: Many ports (Mac OS X, iPAQ, *BSD, Solaris...)
D: documentation D: documentation
S: France S: France
N: Benjamin Mironer
E: bmironer@noos.fr
D: Mac OS X fixes
N: Arkadiusz Miskiewicz N: Arkadiusz Miskiewicz
E: misiek@pld.ORG.PL E: misiek@pld.ORG.PL
D: autoconf and Makefile patches D: autoconf and Makefile patches
...@@ -320,6 +324,11 @@ E: pomel@via.ecp.fr ...@@ -320,6 +324,11 @@ E: pomel@via.ecp.fr
C: pomel C: pomel
S: France S: France
N: Remco Poortinga
E: poortinga@telin.nl
D: IPv6 multicast patch
S: Netherlands
N: Jean-Paul Saman N: Jean-Paul Saman
E: jpsaman@wxs.nl E: jpsaman@wxs.nl
D: libmad plug-in D: libmad plug-in
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<plist version="0.9"> <plist version="0.9">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>13 255 500 426 0 0 1152 746 </string> <string>28 196 500 426 0 0 1152 746 </string>
<key>IBEditorPositions</key> <key>IBEditorPositions</key>
<dict> <dict>
<key>235</key> <key>235</key>
<string>401 417 350 182 0 0 1152 746 </string> <string>401 417 350 182 0 0 1152 746 </string>
<key>29</key> <key>29</key>
<string>797 461 262 44 0 0 1152 746 </string> <string>809 162 262 44 0 0 1152 746 </string>
<key>445</key> <key>445</key>
<string>347 561 370 117 0 0 1152 746 </string> <string>347 561 370 117 0 0 1152 746 </string>
<key>460</key> <key>460</key>
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
<string>248.0</string> <string>248.0</string>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>528</integer>
<integer>29</integer> <integer>29</integer>
<integer>528</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>5Q125</string> <string>5Q125</string>
......
...@@ -96,6 +96,12 @@ ...@@ -96,6 +96,12 @@
F51352810170659801A80A1F, F51352810170659801A80A1F,
F51352820170659801A80A1F, F51352820170659801A80A1F,
F52EEB2F017E3F8C01A80A1F, F52EEB2F017E3F8C01A80A1F,
F5C6804202B407B701B7B2C9,
F5C6804302B407B701B7B2C9,
F5C6804402B407B701B7B2C9,
F5C6804502B407B701B7B2C9,
F5C6804602B407B701B7B2C9,
F5C6804702B407B701B7B2C9,
); );
isa = PBXGroup; isa = PBXGroup;
path = Resources; path = Resources;
...@@ -204,12 +210,12 @@ ...@@ -204,12 +210,12 @@
<dict> <dict>
<key>CFBundleTypeExtensions</key> <key>CFBundleTypeExtensions</key>
<array> <array>
<string>VOB</string> <string>vob</string>
</array> </array>
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string>vlc.icns</string> <string>vlc.icns</string>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>VOB File (DVD)</string> <string>VOB File (DVD Video)</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
</dict> </dict>
...@@ -222,7 +228,7 @@ ...@@ -222,7 +228,7 @@
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string>vlc.icns</string> <string>vlc.icns</string>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>MPEG file</string> <string>MPEG File</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
</dict> </dict>
...@@ -230,12 +236,35 @@ ...@@ -230,12 +236,35 @@
<key>CFBundleTypeExtensions</key> <key>CFBundleTypeExtensions</key>
<array> <array>
<string>avi</string> <string>avi</string>
<string>asf</string>
</array> </array>
<key>CFBundleTypeIconFile</key> <key>CFBundleTypeIconFile</key>
<string>vlc.icns</string> <string>divx.icns</string>
<key>CFBundleTypeName</key>
<string>DivX File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>m1v</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>mpeg1.icns</string>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>DivX</string> <string>MPEG-1 Video File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>m2v</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>mpeg2.icns</string>
<key>CFBundleTypeName</key>
<string>MPEG-2 Video File</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
</dict> </dict>
...@@ -255,11 +284,11 @@ ...@@ -255,11 +284,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.4.0</string> <string>0.4.2</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>VLC#</string> <string>VLC#</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>0.4.0</string> <string>0.4.2</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>
...@@ -286,6 +315,12 @@ ...@@ -286,6 +315,12 @@
F52EEB2A017E3F0701A80A1F, F52EEB2A017E3F0701A80A1F,
F52EEB2B017E3F0701A80A1F, F52EEB2B017E3F0701A80A1F,
F52EEB30017E3F8C01A80A1F, F52EEB30017E3F8C01A80A1F,
F5C6804802B407B701B7B2C9,
F5C6804902B407B701B7B2C9,
F5C6804A02B407B701B7B2C9,
F5C6804B02B407B701B7B2C9,
F5C6804C02B407B701B7B2C9,
F5C6804D02B407B701B7B2C9,
); );
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
name = "Bundle Resources"; name = "Bundle Resources";
...@@ -358,6 +393,72 @@ ...@@ -358,6 +393,72 @@
settings = { settings = {
}; };
}; };
F5C6804202B407B701B7B2C9 = {
isa = PBXFileReference;
path = divx.icns;
refType = 4;
};
F5C6804302B407B701B7B2C9 = {
isa = PBXFileReference;
path = mpeg2.icns;
refType = 4;
};
F5C6804402B407B701B7B2C9 = {
isa = PBXFileReference;
path = mpeg.icns;
refType = 4;
};
F5C6804502B407B701B7B2C9 = {
isa = PBXFileReference;
path = generic.icns;
refType = 4;
};
F5C6804602B407B701B7B2C9 = {
isa = PBXFileReference;
path = mpeg1.icns;
refType = 4;
};
F5C6804702B407B701B7B2C9 = {
isa = PBXFileReference;
path = mpeg4.icns;
refType = 4;
};
F5C6804802B407B701B7B2C9 = {
fileRef = F5C6804202B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
F5C6804902B407B701B7B2C9 = {
fileRef = F5C6804302B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
F5C6804A02B407B701B7B2C9 = {
fileRef = F5C6804402B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
F5C6804B02B407B701B7B2C9 = {
fileRef = F5C6804502B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
F5C6804C02B407B701B7B2C9 = {
fileRef = F5C6804602B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
F5C6804D02B407B701B7B2C9 = {
fileRef = F5C6804702B407B701B7B2C9;
isa = PBXBuildFile;
settings = {
};
};
//F50 //F50
//F51 //F51
//F52 //F52
......
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
* ipv6.c: IPv6 network abstraction layer * ipv6.c: IPv6 network abstraction layer
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: ipv6.c,v 1.10 2002/06/01 16:45:34 sam Exp $ * $Id: ipv6.c,v 1.11 2002/06/09 22:57:00 massiot Exp $
* *
* Authors: Alexis Guillard <alexis.guillard@bt.com> * Authors: Alexis Guillard <alexis.guillard@bt.com>
* Christophe Massiot <massiot@via.ecp.fr> * Christophe Massiot <massiot@via.ecp.fr>
* Remco Poortinga <poortinga@telin.nl>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -103,6 +104,8 @@ static void getfunctions( function_list_t * p_function_list ) ...@@ -103,6 +104,8 @@ static void getfunctions( function_list_t * p_function_list )
static int BuildAddr( struct sockaddr_in6 * p_socket, static int BuildAddr( struct sockaddr_in6 * p_socket,
char * psz_address, int i_port ) char * psz_address, int i_port )
{ {
char * psz_multicast_interface = "";
#if defined(WIN32) #if defined(WIN32)
/* Try to get getaddrinfo() and freeaddrinfo() from wship6.dll */ /* Try to get getaddrinfo() and freeaddrinfo() from wship6.dll */
typedef int (CALLBACK * GETADDRINFO) ( const char *nodename, typedef int (CALLBACK * GETADDRINFO) ( const char *nodename,
...@@ -143,6 +146,17 @@ static int BuildAddr( struct sockaddr_in6 * p_socket, ...@@ -143,6 +146,17 @@ static int BuildAddr( struct sockaddr_in6 * p_socket,
&& psz_address[strlen(psz_address) - 1] == ']' ) && psz_address[strlen(psz_address) - 1] == ']' )
{ {
psz_address++; psz_address++;
/* see if there is an interface name in there... */
if( (psz_multicast_interface = strchr(psz_address, '%')) != NULL )
{
*psz_multicast_interface = '\0';
psz_multicast_interface++;
intf_WarnMsg( 3, "Interface name specified: \"%s\"",
psz_multicast_interface );
/* now convert that interface name to an index */
p_socket->sin6_scope_id = if_nametoindex(psz_multicast_interface);
intf_WarnMsg( 3, " = #%i\n", p_socket->sin6_scope_id );
}
psz_address[strlen(psz_address) - 1] = '\0' ; psz_address[strlen(psz_address) - 1] = '\0' ;
#if !defined( WIN32 ) #if !defined( WIN32 )
...@@ -307,7 +321,22 @@ static int OpenUDP( vlc_object_t * p_this, network_socket_t * p_socket ) ...@@ -307,7 +321,22 @@ static int OpenUDP( vlc_object_t * p_this, network_socket_t * p_socket )
} }
/* Join the multicast group if the socket is a multicast address */ /* Join the multicast group if the socket is a multicast address */
/* FIXME: To be written */ if( IN6_IS_ADDR_MULTICAST(&sock.sin6_addr) )
{
struct ipv6_mreq imr;
int res;
imr.ipv6mr_interface = sock.sin6_scope_id;
imr.ipv6mr_multiaddr = sock.sin6_addr;
res = setsockopt(i_handle, IPPROTO_IPV6, IPV6_JOIN_GROUP, &imr,
sizeof(imr));
if( res == -1 )
{
intf_ErrMsg( "ipv6 error: setsockopt JOIN_GROUP failed" );
}
}
if( *psz_server_addr ) if( *psz_server_addr )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment