Jump to content

DVBViewer Plugin API question?


Recommended Posts

How can't i get from DVBViewer information about frequency(transponder), symbolrate, ecm, audiopid, videopid and so on...

 

I have write plugin that's can read from DVBViewer application transponder(frequency) and Service ID witch is in the DVBViewer SDK help file:

 

Delphi source:

 

var Res:DWord;

begin

Res:=SendMessage(dvbHandle,$B2C2,$1031,0);

ShowMessage(format('Transponder: %d ServiceID: 0x%x',[Res and $FFFF,Res shr 16]));

end;

 

so the res return on one channel(each channel has own result variable number becuse frequency and other PIDs are difrent) has hex: 17d42df6 and when divizion by hex FFFF the a get current transponder: hex2df6 decimal: 11766 MHz witch is correct information. So how to get VideoPID, ECM,EMM, Audio PID and other useful PIDs?

 

Thanks for future answer's! :dvbviewer:(w00t)

Link to post

@roby5: try to ask Griga or hackbart per PM. They can help you.

Link to post

@roby5:

I hope you don't forget to make your plugin show also all DiSEqC info!

It will be very useful!!!

 

Tanks in advance... :dvbviewer:

 

Gioxy

Link to post

I will write plugin like SS2DiSqC witch will when key is pressed tune diseqc 1.2 motor to sattelite and then will show transponder frequency, signal level, quality, ecm,emm, audio pid, video pid and so on...

Link to post
Guest Michael
Execute

This routine is executed each time a new channel is set in.

 

Syntax

Function Execute (ch: PTuner;Pid:PPluginPids):Boolean;stdcall;

BOOL __stdcall *Execute(PTuner ch;PPluginPids Pid)

 

 

Parameters

Input:

        ch contains the current Tunersettings

   

Output:

      If the returned result is False, the active channel wont be tuned in. This function is also allowed to perform the current Tuner, as like as to return a List of Pids.

 

try hookin there :-)

 

then you can tune each time a channel is set... you can delay it cause DVBViewer will ony tune after you passed TRUE as result :P

 

no need for fiddling around with sendmessage... and try having a closer look at the SDK... it's not perfect but has some besic stuff (w00t)

 

btw.. i hope to see it open source :dvbviewer:

Link to post
Output:  If the returned result is False, the active channel wont be tuned in.

 

That's definitely wrong... a bug in the SDK. It's just the other way round. If it returns true, the channel will not be tuned.

 

The updated tuner structure:

 

type

TPluginPids=Array[0..10] of Integer;
PPluginPids=^TPluginPids;

TTunerType = (ttCable, ttSatellite, ttTerrestrial, ttATSC);
PTuner = ^TTuner;
TTuner = record
 TunerType: TTunerType;
 Frequency: DWord;
 SymbolRate: DWord;
 LNB: Word;           //LNB Frequency, e.g. 9750, 10600
 PMT: Word;           //PMT Pid
 ECM: Word;           //= 0 if unencrypted
 Reserved1: Byte;
 AC3: Byte;           //= 1 if audio PID = AC3 private stream
                      //= 0 otherwise
 FEC: Word;           //1 = 1/2, 2 = 2/3, 3 = 3/4, 
                      //4 = 5/6, 5 = 7/8, 6 = Auto
 Reserved2: Word;
 Polarity: Word;      //0 = H, 1 = V
                      //or Modulation or GuardInterval
 Reserved3: Word;
 LNBSelection: Word;  //0 = none, 1 = 22 khz
 Reserved4: Word;
 DiseqC: Word;        //0 = none, 1 = A, 2 = B, 
                      //3 = A/A, 4 = B/A, 5 = A/B, 6 = B/B
 Reserved5: Word;
 AudioPID: Word;
 Reserved6: Word;
 VideoPID: Word;
 TransportStreamID: Word; //from 2.0 R3 on (?), if scanned channel
 TelePID: Word;
 NetworkID: Word;         //from 2.0 R3 on (?), if scanned channel
 SID: Word;               //Service ID
 PCRPID: Word;
end;

function Execute(ch: PTuner; Pid:PPluginPids): Boolean; stdcall;
//Is called whenever a channel is going to be tuned
begin
 result:=false; //allow channel switching
 //you may read or change the tuner params here
end;

exports Execute;

 

i hope to see it open source

 

Yes, would be nice to see how you code it...

 

Griga

Edited by Griga
Link to post
Guest hackbart

i already thought about a diseqc 1.2 plugin, but i dropped the idea. The reason is simple: Neither the weak Grundig, nor the Samsung tuner allows to control a motor.

I even know one case (a friend of mine- who lives in prague) where the tuner smoked up, while using such a motor control.

 

Anyhow you can freely publish such a plugin and i'm also willing to support you with any informations you need, but please add a "NO WARRANTY" into your plugin to avoid legal problems. EU has a lot of advantages, but it could be also quite mean if something goes wrong.. :dvbviewer:

 

Christian

PS: Just as an advice i attached a simple demo plugin, which disables the original DiSEqC control.

noDiseqc.dpr

Link to post
  • 4 weeks later...

@hackbart if you thought about a diseqc 1.2 plugin perhaps you could think about a diseqc 1.1 plugin (cascading diseqc switch support up to 8-16 lnb's)? I'm a bit confused as to what's possible with plugins so please forgive me if it's a stupid question.

Link to post
Guest hackbart

well to be honest supporting DiSEqC 1.2 will sooner or later DAMAGE your card. Thats why i don't want to add such a feature.

I guess i'm unable to give more than the plugin interface information :)

 

Christian

Link to post

As i said before i use disecq 1.2 one year now and i don`t have any problem.

 

i use right now diseq plugin with DVBViewer 2.1 but i move the diseqc manualy with macros!

 

so you can please fix something and we can use it with our own risk! :)

 

thanks!

Link to post
Guest Oliver

And as you have been told before, there will be no official support for DiSEqC 1.2 as long as TechniSat don't give their okay. And I don't think that's going to happen.

 

http://www.DVBViewer.com/forum/index.php?s...t=0entry22468

 

If there is any damage caused by such a plugin people could claim compensation from CM&V and there are several possibilities in German law.

 

So maybe you're lucky and Roby5 will create a working plugin.

 

Bye

Link to post

i see no problem if somebody create such a plugin. Everybody could use it of his own risk. But everybody have to understand it if Christian say he don't want programm a plugin which have this risk !

 

Steffen

Link to post

someone have to fix! because i have 5 friends that have disecq 1.2 they buy the DVBViewer and they don`t use it for this reason, i have more 3 friends and they wait a plugin for diseqc 1.2 to buy DVBViewer. hackbart can fix a plugin and he just can to give rules (that we use it with own risk) before download.

Link to post
someone have to fix!
You cann issue a command :) ???

Noone have to fix !

I you had read the specification of the card before you by it, you dont had this problem! Nobody have to account for your mistake to by the wrong card and nobody must write a plugin for things which the manufactor says it can damage the card !

You can wish it and you can ask for it. But you can't arrogate to say to the programmer of the DVBViewer he have to programm such a plugin :) . For such things is the manufactor or the manufactor of the drivers your contact person.

Christan create a great application for the card with all features which the manufactor allow.

Christian can program such a plugin, but its his own decision to do that.

 

Steffen

Link to post

sorry, but when i said someone have to fix i didn`t mean that is hackbart or someone else fault! i agree that he make the best software for skystar and i love it! i don`t know how to say that, but i hope to understand what i mean, someone have to fix :)

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...