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...)
D: documentation
S: France
N: Benjamin Mironer
E: bmironer@noos.fr
D: Mac OS X fixes
N: Arkadiusz Miskiewicz
E: misiek@pld.ORG.PL
D: autoconf and Makefile patches
......@@ -320,6 +324,11 @@ E: pomel@via.ecp.fr
C: pomel
S: France
N: Remco Poortinga
E: poortinga@telin.nl
D: IPv6 multicast patch
S: Netherlands
N: Jean-Paul Saman
E: jpsaman@wxs.nl
D: libmad plug-in
......
......@@ -3,13 +3,13 @@
<plist version="0.9">
<dict>
<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>
<dict>
<key>235</key>
<string>401 417 350 182 0 0 1152 746 </string>
<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>
<string>347 561 370 117 0 0 1152 746 </string>
<key>460</key>
......@@ -19,8 +19,8 @@
<string>248.0</string>
<key>IBOpenObjects</key>
<array>
<integer>528</integer>
<integer>29</integer>
<integer>528</integer>
</array>
<key>IBSystem Version</key>
<string>5Q125</string>
......
......@@ -96,6 +96,12 @@
F51352810170659801A80A1F,
F51352820170659801A80A1F,
F52EEB2F017E3F8C01A80A1F,
F5C6804202B407B701B7B2C9,
F5C6804302B407B701B7B2C9,
F5C6804402B407B701B7B2C9,
F5C6804502B407B701B7B2C9,
F5C6804602B407B701B7B2C9,
F5C6804702B407B701B7B2C9,
);
isa = PBXGroup;
path = Resources;
......@@ -204,12 +210,12 @@
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>VOB</string>
<string>vob</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>vlc.icns</string>
<key>CFBundleTypeName</key>
<string>VOB File (DVD)</string>
<string>VOB File (DVD Video)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
......@@ -222,7 +228,7 @@
<key>CFBundleTypeIconFile</key>
<string>vlc.icns</string>
<key>CFBundleTypeName</key>
<string>MPEG file</string>
<string>MPEG File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
......@@ -230,12 +236,35 @@
<key>CFBundleTypeExtensions</key>
<array>
<string>avi</string>
<string>asf</string>
</array>
<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>
<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>
<string>Viewer</string>
</dict>
......@@ -255,11 +284,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.4.0</string>
<string>0.4.2</string>
<key>CFBundleSignature</key>
<string>VLC#</string>
<key>CFBundleVersion</key>
<string>0.4.0</string>
<string>0.4.2</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
......@@ -286,6 +315,12 @@
F52EEB2A017E3F0701A80A1F,
F52EEB2B017E3F0701A80A1F,
F52EEB30017E3F8C01A80A1F,
F5C6804802B407B701B7B2C9,
F5C6804902B407B701B7B2C9,
F5C6804A02B407B701B7B2C9,
F5C6804B02B407B701B7B2C9,
F5C6804C02B407B701B7B2C9,
F5C6804D02B407B701B7B2C9,
);
isa = PBXResourcesBuildPhase;
name = "Bundle Resources";
......@@ -358,6 +393,72 @@
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
//F51
//F52
......
......@@ -2,10 +2,11 @@
* ipv6.c: IPv6 network abstraction layer
*****************************************************************************
* 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>
* Christophe Massiot <massiot@via.ecp.fr>
* Remco Poortinga <poortinga@telin.nl>
*
* 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
......@@ -103,6 +104,8 @@ static void getfunctions( function_list_t * p_function_list )
static int BuildAddr( struct sockaddr_in6 * p_socket,
char * psz_address, int i_port )
{
char * psz_multicast_interface = "";
#if defined(WIN32)
/* Try to get getaddrinfo() and freeaddrinfo() from wship6.dll */
typedef int (CALLBACK * GETADDRINFO) ( const char *nodename,
......@@ -143,6 +146,17 @@ static int BuildAddr( struct sockaddr_in6 * p_socket,
&& psz_address[strlen(psz_address) - 1] == ']' )
{
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' ;
#if !defined( WIN32 )
......@@ -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 */
/* 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 )
{
......
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