Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
8902dce1
Commit
8902dce1
authored
Oct 18, 2006
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fallback to IGMPv2 when IGMPv3 fails - fixes #734
parent
bfcdde95
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
18 deletions
+15
-18
modules/misc/network/ipv4.c
modules/misc/network/ipv4.c
+15
-18
No files found.
modules/misc/network/ipv4.c
View file @
8902dce1
...
@@ -269,26 +269,22 @@ static int OpenUDP( vlc_object_t * p_this )
...
@@ -269,26 +269,22 @@ static int OpenUDP( vlc_object_t * p_this )
if
(
psz_if_addr
!=
NULL
&&
*
psz_if_addr
if
(
psz_if_addr
!=
NULL
&&
*
psz_if_addr
&&
inet_addr
(
psz_if_addr
)
!=
INADDR_NONE
)
&&
inet_addr
(
psz_if_addr
)
!=
INADDR_NONE
)
{
imr
.
imr_interface
.
s_addr
=
inet_addr
(
psz_if_addr
);
imr
.
imr_interface
.
s_addr
=
inet_addr
(
psz_if_addr
);
}
else
else
{
imr
.
imr_interface
.
s_addr
=
INADDR_ANY
;
imr
.
imr_interface
.
s_addr
=
INADDR_ANY
;
}
if
(
psz_if_addr
!=
NULL
)
free
(
psz_if_addr
);
msg_Dbg
(
p_this
,
"IP_ADD_SOURCE_MEMBERSHIP multicast request"
);
if
(
psz_if_addr
!=
NULL
)
free
(
psz_if_addr
);
/* Join Multicast group with source filter */
/* Join Multicast group with source filter */
if
(
setsockopt
(
i_handle
,
IPPROTO_IP
,
IP_ADD_SOURCE_MEMBERSHIP
,
if
(
setsockopt
(
i_handle
,
IPPROTO_IP
,
IP_ADD_SOURCE_MEMBERSHIP
,
(
char
*
)
&
imr
,
(
char
*
)
&
imr
,
sizeof
(
struct
ip_mreq_source
)
)
==
-
1
)
sizeof
(
struct
ip_mreq_source
)
)
==
-
1
)
{
{
msg_Err
(
p_this
,
"failed to join IP multicast group (%s)"
,
msg_Warn
(
p_this
,
"Source specific multicast failed (%s) -"
"falling back to non-specific mode"
,
strerror
(
errno
)
);
strerror
(
errno
)
);
msg_Err
(
p_this
,
"are you sure your OS supports IGMPv3?"
);
goto
igmpv2
;
close
(
i_handle
);
return
0
;
}
}
}
}
/* If there is no source address, we use IP_ADD_MEMBERSHIP */
/* If there is no source address, we use IP_ADD_MEMBERSHIP */
...
@@ -297,6 +293,7 @@ static int OpenUDP( vlc_object_t * p_this )
...
@@ -297,6 +293,7 @@ static int OpenUDP( vlc_object_t * p_this )
{
{
struct
ip_mreq
imr
;
struct
ip_mreq
imr
;
igmpv2:
imr
.
imr_interface
.
s_addr
=
INADDR_ANY
;
imr
.
imr_interface
.
s_addr
=
INADDR_ANY
;
imr
.
imr_multiaddr
.
s_addr
=
sock
.
sin_addr
.
s_addr
;
imr
.
imr_multiaddr
.
s_addr
=
sock
.
sin_addr
.
s_addr
;
if
(
psz_if_addr
!=
NULL
&&
*
psz_if_addr
if
(
psz_if_addr
!=
NULL
&&
*
psz_if_addr
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment