[Live-devel] Late binding fix in 2010.01.15 version not yielding video...
Robert Krakora
rob.krakora at gmail.com
Thu Jan 21 08:13:18 PST 2010
My bad,
SO_REUSEADDR allows binding to an address that is in a TIME_WAIT state while
SO_REUSEPORT allows multiple processes to bind to the same address. This
has nothing to do with rebinding...I will keep looking...
On Thu, Jan 21, 2010 at 10:58 AM, Robert Krakora <rob.krakora at gmail.com>wrote:
> 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
>>>
>>
>>
>
--
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100121/1b2bd13d/attachment-0001.html>
More information about the live-devel
mailing list