Welcome Guest! To enable all features, please Login or Register.

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Wednesday, October 6, 2010 4:12:32 AM(UTC)

MattH  
MattH

Groups: Registered
Posts: 4


Hi,
I'm new to you're SDK and I'm evaluating it for a new product we're building.
I'm using your Videoconferencing Server as our H.264 Streaming source, and want to build my own DirectShow capture graph to manipulate the audio and video samples it receives.

Unfortunately I seem to be stumbling at the first hurdle, setting the LM Network Source Filter's source address, as I always get back 0x80072741 (The Requested Address Is Not Valid In Its Context) from the Load method on the IFileSourceFilter Interface.

Here's the code snippet:

CComPtr pLMNetSrc = NULL;
hr = AddNewFilter(CLSID_LMNetSrc, &pLMNetSrc, this->m_pGraph, L"LM Network Source");
ON_FAIL("CCaptureActiveXCtrl::AddViddeo_H264Stream : ERROR : Failed to add the LM Network Source Filter to the Graph.",hr);

CComQIPtr pIFileSourceFilter(pLMNetSrc);
if( pIFileSourceFilter != NULL )
{
hr = pIFileSourceFilter->Load(L"tcp://192.168.11.14:27015",NULL);
ON_FAIL("CCaptureActiveXCtrl::AddViddeo_H264Stream : ERROR : Failed to set the Address of the H.264 Stream on the LM Network Source Filter.",hr);
}
else
{
hr = E_NOINTERFACE;
ON_FAIL("CCaptureActiveXCtrl::AddViddeo_H264Stream : ERROR : Failed to get IFileSourceFilter interface on LM Network Source Filter.",hr);
}


Any help would be appreciated. If I've missed the relevant piece of documentation/sample code, please point me in that direction!

Thanks

Matt

 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Thursday, October 7, 2010 6:02:37 AM(UTC)

Adam Boulad  
Guest

Groups: Guests
Posts: 3,028

Was thanked: 2 time(s) in 2 post(s)

Matt,
The syntax you're using appears to be correct for the connection, but are you sure the address and port are?
If you use our controls (ltmmPlay or ltmmConvert) to receive the stream, does it work?

Note:
If you are creating your own control to create your own programming toolkit, please note that this is not allowed and violates our toolkit license agreement. Also, it would be usually easier to use our controls directly in your application since they are already full ActiveX controls.
 
#3 Posted : Thursday, October 7, 2010 8:04:54 AM(UTC)

MattH  
MattH

Groups: Registered
Posts: 4


Hi,

Thanks for your reply.

The address and port I'm using is displayed in your videoconferencing server software. When I put that address in your client the H.264 stream is rendered correctly.

Using wireshark I could see that the stream was over TCP not UDP hence the TCP:// prefix in the address I'm passing to the load method.

I'll try the ltmmPlay/ltmmConvert controls.

We have a capture object that recieves video and audio samples and manipulates them. The front end of that takes audio and video from different sources depending on the application. I was hoping I could use your library as an easy way to get to audio and video samples in a H.264 stream. But you say this is against your licensing agreement? Is that right, as it would be good to know at this point before I go any further.
 
#4 Posted : Sunday, October 10, 2010 1:48:15 AM(UTC)

Adam Boulad  
Guest

Groups: Guests
Posts: 3,028

Was thanked: 2 time(s) in 2 post(s)

I expect using our controls will work. You can actually see how the filter graph is built inside these controls using the EditGraph() member method in our controls.
http://www.leadtools.com/Help/LEADTOOLS/v17/Multimedia/API/Convert/IltmmConvert__EditGraph.htm

About the legal aspect, if you are creating a control to use a part of an end-user application, it should be OK.
However, if you are creating programming tools that will be sold to other programmers or used in multiple projects, a single LEADTOOLS SDK license will not cover that. If you are in doubt, send details about what you want to do to sales@leadtools.com
 
#5 Posted : Thursday, October 14, 2010 5:17:58 AM(UTC)

MattH  
MattH

Groups: Registered
Posts: 4


Hi,

Thanks for your reply.

The error was here:

hr = pIFileSourceFilter->Load(L"tcp://192.168.11.14:27015",NULL);

It should have read:

hr = pIFileSourceFilter->Load(L"ltsf://192.168.11.14:27015",NULL);

I see that LTSF is used by the Videoconferencing Server, but that's not mentioned here:

http://www.leadtools.com/Help/LEADTOOLS/v17/Multimedia/API/Default.htm#Convert/IltmmConvert__EditGraph.htm

Will I be able to use the same Network Source Filter to connect to H.264 streams that aren't being streamed by your Sink Filter?

Thanks

Matt
 
#6 Posted : Thursday, October 14, 2010 5:19:48 AM(UTC)

MattH  
MattH

Groups: Registered
Posts: 4


Sorry, the URL is this one:

http://www.leadtools.com/Help/LEADTOOLS/v17/multimedia/filters/Interfaces/UDPSource_IFileSourceFilterInterface.htm

Matt
 
#7 Posted : Friday, October 15, 2010 12:20:12 PM(UTC)

jigar  
Guest

Groups: Guests
Posts: 3,028

Was thanked: 2 time(s) in 2 post(s)

Hello Matt,

Our LTSF protocol is proprietary so it will only be able to read from streams that have been created by the LEAD Network Sink.  What type of stream do you expect to get?  We have support for MPEG2 TS, and RTSP/RTP streams.  If you need to receive those we have other filters to handle that.

Let me know if you have any questions.

Thanks
 
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2020, Yet Another Forum.NET
This page was generated in 0.215 seconds.