MediaSuite.NET FAQ

 

Installation

What are the dependencies of MediaSuite.NET when redistributing
Is MediaSuite.NET compatible to Compact Framework?
I'm getting an error when starting one of the demo applications
I cannot download any more updates from the User Area
We are receiving: "Could not load file or assembly 'xxxx.NET, Version=xxxx, Culture=neutral, PublicKeyToken=xxxx"

General

Getting started
What is the performance of your decoder X at resolution Y and z FPS on [some CPU model]?

Licensing

What am I paying for when licensing MediaSuite.NET
Is your license on a per developer basis
Can I still use your components after I choose not to renew my license?
I have a build machine. Do I have to purchase a license to the software for a build machine?
Do I have to pay you royalties if I use a component you engineer within my application?

Development

I see memory leaking when using RTP.NET
We observed that there is difference between H264 and H263 encode and decode process
Does your RTSP stack support XY Cam or Media Server
I see no Marker bits when receiving speech packets



What am I paying for when licensing MediaSuite.NET

All Streamcoders products are sold based on a subscription model. This means that when you purchase one of our products, you receive 12 months of free updates for that product from the date of purchase – be it a minor service update or a major new version. After the 12 month period and at your discretion, you can renew the subscription and receive another 12 months of free updates. If you choose not to renew, you can continue using the last version you obtained or are eligible to use. The 12 month time frame is merely for new versions/updates and has no relevance to rights of use (as long as the EULA is not violated).

Is your license on a per developer basis

Absolutely. Each developer who uses our controls must obtain a license for each machine that he uses for development using MediaSuite.NET components.

Can I still use your components after I choose not to renew my license?

Absolutely. You can continue to use products which you have licensed and paid for...as long as you require. When a subscription expires, it simply means that you will no longer be issued any product updates or new product releases.

I have a build machine. Do I have to purchase a license to the software for a build machine?

If no development is performed on the build machine and its sole purpose is to generate actual builds of your products, then no you do not need to purchase a separate license for the build machine. If however a developer uses the build machine for active development and this developer does not have a valid license to the products, then yes, he or she must acquire a license to said product.

Do I have to pay you royalties if I use a component you engineer within my application?

Streamcoders does not charge any royalties for redistribution of components that have been integrated into applications which you engineer. Of course, this only applies if you have a valid license to all products which are being used within your application.

What are the dependencies of MediaSuite.NET when redistributing

The target machine will require .NET 2.0 and the latest Visual C++ Redistributable package. Currently this is: VC 9.0.30729

Is MediaSuite.NET compatible to Compact Framework?

Currently we only support x86 and x64 based systems. This might change, so check back often.

I'm getting an error when starting one of the demo applications

Errors similar to this:
System.IO.FileLoadException: Could not load file or assembly ...

may are mostly either due to not including the necessary assemblies into your project or no having installed the necessary prerequisites in order to work with MediaSuite.NET.

I cannot download any more updates from the User Area

This is most likely because your license expired. MediaSuite.NET license gives you free updates for one year. After that, if you choose to receive more updates, you will have to license MediaSuite.NET again.
Note: License expiration does not effect your right to use the older versions of MediaSuite that fall inside the period you have purchased a license for. Your are still free to redistribute MediaSuite.NET with those versions.

We are receiving: "Could not load file or assembly 'xxxx.NET, Version=xxxx, Culture=neutral, PublicKeyToken=xxxx"

Please make sure you have the latest Microsoft redistributable C++ library installed. You can get that package from the MSDN download site.

Getting started

To get started, you will need a development environment such as Visual Studio 2008 or Delphi for .NET. Make sure you always keep your environment updated with the latest service packs and hotfixes.
If you're sure that you meet all prerequesites you can start by look at some of the sample codes, demos and the documentation. Remember that, the best way to learn something new, is by playing with it. So start by simply changing parameters around, changing resolutions (you get the idea).

What is the performance of your decoder X at resolution Y and z FPS on [some CPU model]?

Because of the enormous number of combinations, we cannot give you a prescribed answers to this question. The easiest way to find out, is to simply execute one of our demo applications with the parameters you're interested in. For example, if you would like to know the speed of our MPEG4Decoder then a good way to see it perform is by using FilePlayer demo application and simply play an AVI or MP4 file that matches your requirements best.

I see memory leaking when using RTP.NET

RTP.NET has 2 1/2 modes of operation. One is using callbacks and the other is polling for packets or "both". It is the "both" that can cause what seems to be memory leaks. if you have a callback registered for incoming RTP packets such as this:

        private bool NewRTPPacket(RTPPacket packet, byte[] rawBuffer)
        {
            AddPacketToJitter(packet);
            return false;
        }
Returning true would signal RTPSession that you would like to keep the packet stored for later retrieval using RTPSession.GetNextPacket(). This is also true for not registering a callback at all. If you don't call RTPSession.GetNextPacket() frequently enough, then you will see memory usage accumulating.

We observed that there is difference between H264 and H263 encode and decode process

H.264 defines inter-frame dependencies of up to 16 slices, so as defined in the standard the decoder must keep DPB (decoded picture buffer) until the first batch of predictive references are shifted out of this buffer. This is not the case with H.263 and that is why you see this behavior.

Does your RTSP stack support XY Cam or Media Server

It most likely does. We have tested our stack with alot of devices and Media Server. Among them are Axis, Vivotek, Darwin, Helix.. Best way to find out is try the RTSPPlayer demo application. In case it doesn't work with your designated device or server, please us know.

I see no Marker bits when receiving speech packets

That is because most all speech frames fit into a single UDP packet. So, the feature optional to the sender. Rather than going for the Marker bit, you should look at the sequence number and the packet duration negotiated through signaling.