[Live-devel] Late binding fix in 2010.01.15 version not yielding video...

Robert Krakora rob.krakora at gmail.com
Thu Jan 21 07:58:10 PST 2010


Ross:

It looks like kernel 2.6.18-128.1.10.el5 utilized in CentOS 5.3 does not
implement SO_REUSEPORT (see commented out SO_REUSEPORT below from "socket.h"
file for this kernel and the comment about it's needed implementation in *bold
red*).  Otherwise I believe your fix would have worked.  I did not see an
error message on the re-bind code like I would have expected though.  I am
going to retest and put in some breakpoints.

#ifndef _ASM_SOCKET_H
#define _ASM_SOCKET_H

#include <asm/sockios.h>

/* For setsockopt(2) */
#define SOL_SOCKET    1

#define SO_DEBUG    1
#define SO_REUSEADDR    2
#define SO_TYPE        3
#define SO_ERROR    4
#define SO_DONTROUTE    5
#define SO_BROADCAST    6
#define SO_SNDBUF    7
#define SO_RCVBUF    8
#define SO_SNDBUFFORCE    32
#define SO_RCVBUFFORCE    33
#define SO_KEEPALIVE    9
#define SO_OOBINLINE    10
#define SO_NO_CHECK    11
#define SO_PRIORITY    12
#define SO_LINGER    13
#define SO_BSDCOMPAT    14
*/* To add :#define SO_REUSEPORT 15 */*
#define SO_PASSCRED    16
#define SO_PEERCRED    17
#define SO_RCVLOWAT    18
#define SO_SNDLOWAT    19
#define SO_RCVTIMEO    20
#define SO_SNDTIMEO    21

/* Security levels - as per NRL IPv6 - don't actually do anything */
#define SO_SECURITY_AUTHENTICATION        22
#define SO_SECURITY_ENCRYPTION_TRANSPORT    23
#define SO_SECURITY_ENCRYPTION_NETWORK        24

#define SO_BINDTODEVICE    25

/* Socket filtering */
#define SO_ATTACH_FILTER        26
#define SO_DETACH_FILTER        27

#define SO_PEERNAME        28
#define SO_TIMESTAMP        29
#define SCM_TIMESTAMP        SO_TIMESTAMP

#define SO_ACCEPTCONN        30

#define SO_PEERSEC             31
#define SO_PASSSEC        34

#endif /* _ASM_SOCKET_H */

Best Regards,

-- 
Rob Krakora
Senior Software Engineer
MessageNet Systems
101 East Carmel Dr. Suite 105
Carmel, IN 46032
(317)566-1677 Ext. 206
(317)663-0808 Fax

On Thu, Jan 21, 2010 at 8:26 AM, Robert Krakora <rob.krakora at gmail.com>wrote:

> Ross:
>
> I will debug this and let you know what is going on.  Multicast data was
> arriving per Wireshark.  However, I did not capture the RTSP traffic...I
> cannot see the video as the location is remote.  It was bad judgement on my
> part to indicate to you that it was working prematurely.  I will have
> someone at the site set up the camera and I will get you some data today.
> Sorry, I have a lot of things on my platter and I rushed to judgement.  ;-)
>
> Best Regards,
>
> --
> Rob Krakora
> Senior Software Engineer
> MessageNet Systems
> 101 East Carmel Dr. Suite 105
> Carmel, IN 46032
> (317)566-1677 Ext. 206
> (317)663-0808 Fax
> On Wed, Jan 20, 2010 at 6:19 PM, Ross Finlayson <finlayson at live555.com>wrote:
>
>>  The fix with which you provided me for the multicast destination address
>>> embedded in the SETUP response does not appear to be yielding video.
>>>
>>
>> Well, beforehand you told me that it worked OK!
>>
>> Anyway, the fix was to reimplement the "Socket::changePort()" function (in
>> "groupsock/NetInterface.cpp") to call "bind()" (with the new port number),
>> rather than closing and then reopening the socket (which is what both the
>> old version and your hack did).  Could you please figure out why the
>> "changePort()" function is not working for you?  Unfortunately, I can't test
>> this myself, because I don't have server that works the way yours does.
>> --
>>
>> Ross Finlayson
>> Live Networks, Inc.
>> http://www.live555.com/
>> _______________________________________________
>> live-devel mailing list
>> live-devel at lists.live555.com
>> http://lists.live555.com/mailman/listinfo/live-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100121/939472b5/attachment.html>


More information about the live-devel mailing list