[Live-devel] live-devel Digest, Vol 102, Issue 17

Gord Umphrey gordu at dvr2010.com
Wed Apr 18 04:56:35 PDT 2012


Thanks Ross;

Attached is the testRTSPClient.cpp that will crash.

If you use this as  a source: rtsp://192.168.1.1:8554/main,
then you will see heap corruption.

If you comment out the Medium::close(rtspClient);  on line 398, then it will 
no longer crash, but you would be leaking a lot of resources.

Unfortunately, "exit()" is hiding a lot of memory leaks and other problems.

PS, I am running this on a Windows machine.

Regards,
Gord.


-----Original Message----- 
From: live-devel-request at ns.live555.com
Sent: Wednesday, April 18, 2012 1:15 AM
To: live-devel at ns.live555.com
Subject: live-devel Digest, Vol 102, Issue 17

Send live-devel mailing list submissions to
live-devel at lists.live555.com

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.live555.com/mailman/listinfo/live-devel
or, via email, send a message with subject or body 'help' to
live-devel-request at lists.live555.com

You can reach the person managing the list at
live-devel-owner at lists.live555.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of live-devel digest..."


Today's Topics:

   1. Receive data from live server (i m what i m ~~~~)
   2. Re: Receive data from live server (Ross Finlayson)
   3. Re: ONVIF RTSP extension : Audio Backchannel Handling
      (Yuri Timenkov)
   4. Re: Receive data from live server (i m what i m ~~~~)
   5. testRTSPClient heap corruption (Gord Umphrey)
   6. Re: Receive data from live server (Ross Finlayson)
   7. Re: testRTSPClient heap corruption (Ross Finlayson)


----------------------------------------------------------------------

Message: 1
Date: Mon, 16 Apr 2012 15:02:00 +0530
From: "i m what i m ~~~~" <trn200190 at gmail.com>
To: live-devel at ns.live555.com, "LIVE555 Streaming Media - development
& use" <live-devel at ns.live555.com>
Subject: [Live-devel] Receive data from live server
Message-ID:
<CAJmxhGUsN4Lg-Q=XQ1dCFeew7q7wGiWaFYsSnpJvf1x-fM7EhQ at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hello Sir
i made a c++ code(using sockets) to receive *.264 streaming from the RTSP
server(RTSP server.cpp) but it doesnot receive anything but when i used the
same code to receive streaming  from the vlc player it works well??

Can u suggest me where am i wrong or any pseudo code?

Thank YOU.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120416/f0de91c6/attachment-0001.html>

------------------------------

Message: 2
Date: Tue, 17 Apr 2012 09:16:34 +1000
From: Ross Finlayson <finlayson at live555.com>
To: LIVE555 Streaming Media - development & use
<live-devel at ns.live555.com>
Subject: Re: [Live-devel] Receive data from live server
Message-ID: <1C13A0FB-925A-4053-959F-621434EC528B at live555.com>
Content-Type: text/plain; charset="iso-8859-1"

> i made a c++ code(using sockets) to receive *.264 streaming from the RTSP 
> server(RTSP server.cpp) but it doesnot receive anything but when i used 
> the same code to receive streaming  from the vlc player it works well??
>
> Can u suggest me where am i wrong or any pseudo code?

Look at the "testRTSPClient" demo application.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120417/91c31bf4/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 17 Apr 2012 12:25:17 +0400
From: Yuri Timenkov <yuri.timenkov at itv.ru>
To: LIVE555 Streaming Media - development & use
<live-devel at ns.live555.com>
Cc: Ross Finlayson <finlayson at live555.com>
Subject: Re: [Live-devel] ONVIF RTSP extension : Audio Backchannel
Handling
Message-ID: <4F8D28ED.6090204 at itv.ru>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hi Ross,

Actually the "extension" is implemented in terms of RFC 2326 by using
"Require" header (12.32 Require).
So the question is how to get these "Require" headers from OPTIONS
request and respond with 200 OK or 551 Option not supported.

The second part of question is how to make a track with "a:sendonly"
attribute and accept data. The reverse media transport is part of RTP
standard and used in SIP protocol. I suppose the only implication is
when backchannel interleaved over TCP, but liveMedia should handle it to
process RTCP feedback.

Best wishes,
Yuri

On 14.04.2012 12:53, Ross Finlayson wrote:
> Because - as you noted - these extensions are not part of the RTSP
> standard, we don't support them.  Also, unfortunately, it would not be
> possible to support them without modifying (not just subclassing) the
> existing LIVE555 library code.  In particular, you would need to
> reimplement the "MediaSubsession::initiate()" function.  For
> 'backchannel' subsessions, you would need to create an appropriate
> "RTPSink" subclass, rather than a "RTPSource" subclass that the
> existing code always 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/20120417/b89c1043/attachment-0001.html>

------------------------------

Message: 4
Date: Tue, 17 Apr 2012 12:41:41 +0530
From: "i m what i m ~~~~" <trn200190 at gmail.com>
To: "LIVE555 Streaming Media - development & use"
<live-devel at ns.live555.com>
Subject: Re: [Live-devel] Receive data from live server
Message-ID:
<CAJmxhGVtjwVwNFcROojkZdCv8EUCbTnksUTwZoW_GjoGSviLfg at mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Sir i don't want to use the live media library rather  want to receive the
data through sockets.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120417/49c294c5/attachment-0001.html>

------------------------------

Message: 5
Date: Tue, 17 Apr 2012 08:42:03 -0400
From: "Gord Umphrey" <gordu at dvr2010.com>
To: <live-devel at ns.live555.com>
Subject: [Live-devel] testRTSPClient heap corruption
Message-ID: <E68B0D6CF2C84CCEBC5C6EFAFE3EB951 at SmokeyPC>
Content-Type: text/plain; charset="utf-8"

Hi;

If you attempt to receive a stream from an invalid source, (i.e. 
rtsp://non-existing_IP:554/main)
then the testRTSPClient application will crash.

It seems that calling Medium::close() is the culprit. Medium::close() works 
fine when connected to a valid stream, but will cause heap corruption when 
not streaming.

Steps to reproduce:

Two modifications are required in testRTSPClient.cpp to show the problem:

1.) In main(), follow the comments at the end of the procedure, I.e. comment 
out the ?return 0?, and uncomment the last two lines
2.) At the end of the shutdown() procedure, comment out the exit(), and 
replace with ?eventLoopWatchVariable = 1;?

Then just stream to a non-existing source.

The reason this is not showing up more frequently is because the exit() 
routine by-passes the run-time memory checks and just exits.

A quick work-around would be greatly appreciated!!

Regards,

Gord.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120417/d42fcd6c/attachment-0001.html>

------------------------------

Message: 6
Date: Wed, 18 Apr 2012 14:45:42 +1000
From: Ross Finlayson <finlayson at live555.com>
To: LIVE555 Streaming Media - development & use
<live-devel at ns.live555.com>
Subject: Re: [Live-devel] Receive data from live server
Message-ID: <3B37A4AA-CC27-4154-B1DD-F54440763C77 at live555.com>
Content-Type: text/plain; charset="iso-8859-1"

> Sir i don't want to use the live media library rather  want to receive the 
> data through sockets.

Well, if you don't want to use our software, then your question is off-topic 
for this mailing list.  You'll need to ask somewhere else.  Sorry.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120418/db78b440/attachment-0001.html>

------------------------------

Message: 7
Date: Wed, 18 Apr 2012 15:15:32 +1000
From: Ross Finlayson <finlayson at live555.com>
To: LIVE555 Streaming Media - development & use
<live-devel at ns.live555.com>
Subject: Re: [Live-devel] testRTSPClient heap corruption
Message-ID: <526F6D4B-7B7E-45CD-881B-6E8AD3115F7D at live555.com>
Content-Type: text/plain; charset="windows-1252"

> If you attempt to receive a stream from an invalid source, (i.e. 
> rtsp://non-existing_IP:554/main)
> then the testRTSPClient application will crash.
>
> It seems that calling Medium::close() is the culprit. Medium::close() 
> works fine when connected to a valid stream, but will cause heap 
> corruption when not streaming.
>
> Steps to reproduce:
>
> Two modifications are required in testRTSPClient.cpp to show the problem:
>
> 1.) In main(), follow the comments at the end of the procedure, I.e. 
> comment out the ?return 0?, and uncomment the last two lines
> 2.) At the end of the shutdown() procedure, comment out the exit(), and 
> replace with ?eventLoopWatchVariable = 1;?
>
> Then just stream to a non-existing source.

Sorry, but I can't reproduce this.  However, I think you may be 
misunderstanding the purpose of the two lines:

env->reclaim(); env = NULL;
delete scheduler; scheduler = NULL;

You should execute those lines only if you're *complete done* with the 
"UsageEnvironment" and "TaskScheduler" objects; i.e. if you don't plan to 
execute any more "LIVE555 Streaming Media" library code.  In particular, you 
should not be calling "Medium::close()" at all after this point (and that 
function won't get called from the event loop anymore - because you're no 
longer in the event loop).

So where exactly is this erroneous call to "Medium::close()" happening?


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.live555.com/pipermail/live-devel/attachments/20120418/a06f7a50/attachment.html>

------------------------------

_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


End of live-devel Digest, Vol 102, Issue 17
******************************************* 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: testRTSPClient.cpp
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120418/be2e0da5/attachment-0001.ksh>


More information about the live-devel mailing list