DirectShow Filter graphs

G4GUO
Posts: 728
Joined: Tue Feb 16, 2010 12:51 pm

Re: DirectShow Filter graphs

Post by G4GUO » Fri Jan 04, 2013 9:10 am

I have had mixed success with using filter graphs within my Windows application.

I can build the filter graph and connect the pins together within my C/C++ application.
What I can't do is change the values from my program. I can read some of the values
and the interface says I can change them by when I do the filter returns a failure code.

I can instantiate the property pages for the Hauppauge filters and manually change
the parameters through the property page dialogues but that is not what I wanted
to do, it all looks unprofessional but it is what I may have to end up doing.

Hauppauge seem to have used some bespoke interfaces to control their filters which
means without help from them (Header files) I am on to a looser. Oh well!
I have asked them for their SDK but I suspect the SDK will be for WinTV rather than
for their DirectShow filters (it is under an NDA which may be a problem if I want to
release my code).

- Charles G4GUO

M0DTS
Posts: 653
Joined: Sun Feb 24, 2008 9:03 pm

Re: DirectShow Filter graphs

Post by M0DTS » Fri Jan 04, 2013 3:07 pm

Sounds like you have made some good progress though still...

The support in Linux is excellent beats windows by a mile!!.. you can configure everything very easily with the Hauppauge and probably any AV capture device.

I have the same problems in windows and graphs not being able to set certain parameters in Win7 64bit here as in 32bit they work fine.
Filter graphs never remember their settings either.. quite annoying!

Rob

G4GUO
Posts: 728
Joined: Tue Feb 16, 2010 12:51 pm

Re: DirectShow Filter graphs

Post by G4GUO » Fri Jan 04, 2013 5:09 pm

Hi Rob,

As you say Linux is not a problem.

Unfortunately the majority of people that are likely to use DATVExpress
are Windows users.

The Major UDP Sender is written in PASCAL so I have problems controlling that as well.
Still it is quite simple and may make a good 'first' project to write a DS filter.

If people would be happy manually setting the bitrate of the encoder then I can simply
call up the Property pages from within my application. That works fine.
I am hoping to get some information from Hauppauge outside of their NDA.

Update : With the help of Marcel Majoor I can now control MajorUDPSender from C++.

- Charles

G4GUO
Posts: 728
Joined: Tue Feb 16, 2010 12:51 pm

Re: DirectShow Filter graphs

Post by G4GUO » Sat Jan 05, 2013 9:38 pm

I shall update my previous post.

It is possible to control the Hauppauge card from its DirectShow filter
using standard Microsoft Interface calls using 'IID_ICodecAPI' but you
have to read a value before you can change it.

Here is an interesting link
http://www.youtube.com/watch?feature=pl ... CcKgrzbix4

As I eventually plan to do something like this with DATVExpress (if I ever find the time).

- Charles G4GUO

M0DTS
Posts: 653
Joined: Sun Feb 24, 2008 9:03 pm

Re: DirectShow Filter graphs

Post by M0DTS » Wed Jan 09, 2013 6:23 pm

Great news,
I struggled when i looked at some c++ code for making a standalone directshow graph, a bit too in depth for my skills..!
Glad the settings are now adjustable.

Amateur WiFi never took over from packet which is a shame, i used to love playing about with networking and ax25 on 27mhz before i got my amateur licence!
A similar system to the current mobile network for amateur use would be a cool idea and might appeal more to the users too..

I'm sure we would still have a problem geting an NOV for the basestations though ..hi

Rob

G4GUO
Posts: 728
Joined: Tue Feb 16, 2010 12:51 pm

Re: DirectShow Filter graphs

Post by G4GUO » Wed Jan 09, 2013 8:13 pm

Hi Rob,

Yes I got a confirmation from Hauppauge on how to do it just about the same time as
I sorted it myself! Always the way. Filter graphs are a bit of a pig but I think the
effort will be worth it and I have working code now. I guess I should be looking at
GStreamer as a more portable way of doing it both on Linux and Windows. I suspect
that there are not too many capture devices that have GStreamer support.

I have started looking at writing my own Direct Show filters, Microsoft produce a
Wizard to create blank filters (for all types except the one I wanted of course). If I
move my Windows code to be filter based it will allow people to experiment with
novel transmitter configurations.

That video was interesting as someone asked me about the possibility of using
a Rasp PI and a DATV-Express board to transmit digital TV, albeit MPEG4 and if
they can get Open BTS to run on a Pi then getting DVB-S should be a doddle.

- Charles G4GUO

Post Reply

Return to “DigiLite”