TRENDnet Cameras Online

Found at http://trendnet.com/demo/

One more time TRENDnet guys proved they can screw any great idea. M-JPEG content sent by TV-IP422W cameras has no indication of proper MIME type. We can survive this, thanks blokes you are at least giving Content-Length value! The major problem is that IJG decoder stumbles with exception on the JPEGs: each frame is prepended by 28 byte informational header (hopefully – I will have to look into the source code to find out) messing video decoder. I hope in future TRENDnet devs will discover APPn JPEG markers or multipart/mixed content-type subheaders and find it more approprioate to put this information into these cozy places.

TV-IP301W just has a typo in multipart/mixed header:

GET /goform/video3 HTTP/1.0
User-Agent:
Authorization: Basic Z3Vlc3Q6Z3Vlc3Q=
Connection: Keep-Alive

Content-Type: multipart/mixed;boundry=cellvision
–cellvisionContent-Type: image/mpeg
HTTP/1.1 200 OK

OMG!!! Response line goes after Content-Type header… There is just nothing to say about this.

By “image/mpeg” (I have not found it in MIME type reference) they mean server-pushed stream of JPEG images, by the way.

BUT! These new models TV-IP212/TV-IP212W/TV-IP312/TV-IP312W/TV-IP422/TV-IP422W are much much better than older on the product line and they are still not expensive. I believe they are going to be very popular.

See also:

How To: Implement DirectShow Filter using DirectX Media Object DMO (Part 5: In-Place Processing)

Previously on the topic:

Due to the nature of the brightness and constract correction processing, it would make sense to combine and simplify processing to apply correction “in-place”, that is without copying data from input to output buffer, but instead processing the same buffer before it is passed further downstream.

DMO API offers additional optional IMediaObjectInPlace interface to be implemented on the DMO which the hosting object might prefer to regular IMediaObject.

The interface itself is simple with basically the only Process method to actually handle the processing:

// IMediaObjectInPlace
	STDMETHOD(Process)(ULONG nSize, BYTE* pnData, REFERENCE_TIME nStartTime, DWORD nFlags)
	STDMETHOD(Clone)(IMediaObjectInPlace** ppMediaObject)
	STDMETHOD(GetLatency)(REFERENCE_TIME* pnLatencyTime)

Continue reading →

How To: Implement DirectShow Filter using DirectX Media Object DMO (Part 4: Merit)

Previously on the topic:

The implemented so far filter/DMO shown a problem related to its unexpectedly high “importance” in the system with the symptom of “auto-insertion” the filter when it is not necessary. For example, let us render an AVI file through Infinite Tee Pin Filter:

The problem is that DirectShow auto-inserts our Brightness/Contrast filter into the graph while it is obviously not expected, wanted or necessary:

The problem is high filter/DMO merit value and a popular YUY2 video format the filter is advertised to accept on input during DMO registration.

Continue reading →

Visual Studio .NET 2005 Service Pack 1 Freeze

Visual Studio .NET 2005 Service Pack 1 started freezing on a solution it opened and compiled just recently. Deletion of *.ncb, *.aps, *.suo and intermediate/output files did not fix the problem, however what appeared to be a workaround was a rename of a subdirectory with a Cabinet (CAB) project .vdproj, which was one of the solution’s projects.

Installation of Visual Stuidio .NET 2008 might be the cause, but anyway I love this game <grrr>

ATL and Visual Studio C++.NET 2008 Goodies

This seems to be undocumented (Google does not know anything on this): ATL server executables may be run with /RegServerPerUser and /UnregServerPerUser switches to hopefully (this what would expect this to do without checking) register contained COM classes under HKEY_CURRENT_USER rather than HKEY_LOCAL_MACHINE and thus allow COM server run under credentials of non-administrative user. See Also: Merged View of HKEY_CLASSES_ROOT.

Good bye _ATL_MIN_CRT: this mode is retired with Visual Studio .NET 2008.

PROP_ENTRY and PROP_ENTRY_EX are deprecated and replaced with PROP_ENTRY_TYPE and PROP_ENTRY_TYPE_EX. Note that property pages have to be mentioned in property map explicitly using PROP_PAGE as opposed to old behavior when they were referenced as a part of property declaration.

ATL Server is taken out of the product and moved to open source project at CodePlex.

Many small fixes, including for example for CenterWindow.

Software we make and Support we do

Customer quote:

***,

*** is working fine now. Both the J*** and the A*** camera are properly integrated. In the nereby future I will also connect a 5 megapix D/N A*** camera to the system. I guess I’ll find no problems there.

I acquired the cameras and the ***-software as a demonstration-tool for my clients. My customers will now be able to see the difference and make a choice.

Thank you very much for your support. Best support I ever had on any software!

Kind regards,

***
N***
The Netherlands