Open RolsimGit opened 3 years ago
In your modulation parameters, I see this:
satellite_number {_access=0x014f2718 {1} _data=0x014f2718 "\x1" } ts::Variable<unsigned int>
Do you have a DiSEqC switch and do you target the second port?
Otherwise, let this field unset (or set to zero) and retry.
The same result, even if not initialized, or with value 0 or 2.
OK, the other two differences with the command line are:
What are the exact characteristics of this transponder? Which satellite is this?
Also try tsp --verbose
on the command which actually grabs the signal to view the actual parameters.
D:\TSDuck\bin>tsp --verbose -O file test.ts -P until --seconds 20 -I dvb --delivery-system DVB-S2 --lnb Astra --frequency 11493750000 --polarity horizontal --symbol-rate 21995000 --device-name :1
* dvb: using Hauppauge WinTV 885 Alt BDA Tuner/Demod (DVB-S, DVB-S2)
* dvb: tuned to transponder --delivery-system DVB-S2 --frequency 11,493,750,000 --symbol-rate 21,995,000 --fec-inner auto --polarity horizontal --modulation QPSK --pilots off --roll-off 0.35 --lnb Enhanced --satellite-number 0
* dvb: signal locked: yes, strength: 96%, quality: 94%
* dvb: initial input bitrate is 42,584,548 b/s
and the new parameter:
+ delivery_system {_access=0x026d7130 {DS_DVB_S2 (2)} _data=0x026d7130 "\x2" } ts::Variable<enum ts::DeliverySystem>
+ frequency {_access=0x026d713c {11493750000} _data=0x026d713c "ð´\x14\x2" } ts::Variable<unsigned __int64>
+ polarity {_access=0x026d714c {POL_HORIZONTAL (1)} _data=0x026d714c "\x1" } ts::Variable<enum ts::Polarization>
+ lnb {_access=0x026d7158 {_name=L"Astra" _alias=L"Enhanced" _bands={ size=1 } } _data=0x026d7158 "Tñ5" } ts::Variable<ts::LNB>
+ inversion {_access=0x026d71ac {SPINV_AUTO (1)} _data=0x026d71ac "\x1" } ts::Variable<enum ts::SpectralInversion>
+ symbol_rate {_access=0x026d71b8 {21995000} _data=0x026d71b8 "øO\x1... } ts::Variable<unsigned int>
+ inner_fec {_access=0x026d71c4 {FEC_AUTO (0)} _data=0x026d71c4 "" } ts::Variable<enum ts::InnerFEC>
+ satellite_number {_access=0x026d71d0 {0} _data=0x026d71d0 "" } ts::Variable<unsigned int>
+ modulation {_access=0x026d71dc {QPSK (20)} _data=0x026d71dc "\x14" } ts::Variable<enum ts::Modulation>
+ pilots {_access=0x026d7230 {PILOT_OFF (1)} _data=0x026d7230 "\x1" } ts::Variable<enum ts::Pilot>
+ roll_off {_access=0x026d723c {ROLLOFF_35 (3)} _data=0x026d723c "\x3" } ts::Variable<enum ts::RollOff>
+ isi {_access=0x026d7254 {4294967295} _data=0x026d7254 "ÿÿÿÿ... } ts::Variable<unsigned int>
+ pls_code {_access=0x026d7260 {0} _data=0x026d7260 "" } ts::Variable<unsigned int>
+ pls_mode {_access=0x026d726c {PLS_ROOT (0)} _data=0x026d726c "" } ts::Variable<enum ts::PLSMode>
_allow_short_options true bool
And then what ? Does the application work with the same tuning parameters as the tsp
command ?
It is Astra 19.2 The parameters are from the NIT
No Stream with the new Parameter
I have found the reason.
When selecting the DeviceName I had the following code:
`void CDlgTuner::OnSelchangeCmbTuner() { int i = 0; bool erg;
CComboBox* cmbBox = (CComboBox*)GetDlgItem(IDC_CMB_TUNER);
i = cmbBox->GetCurSel();
if (theApp.m_pTuner->isOpen()) theApp.m_pTuner->close(*theApp.m_pReportFile);
erg = theApp.m_pTuner->open(m_tunerVector[i]->deviceName(), false, *theApp.m_pReportFile);
...
}`
A new opening of the tuner is apparently not enough. The new functional code:
`void CDlgTuner::OnSelchangeCmbTuner() { int i = 0; bool erg;
CComboBox* cmbBox = (CComboBox*)GetDlgItem(IDC_CMB_TUNER);
i = cmbBox->GetCurSel();
ts::UString deviceName = m_tunerVector[i]->deviceName();
if (theApp.m_pTuner->isOpen())
theApp.m_pTuner->close(*theApp.m_pReportFile);
delete theApp.m_pTuner;
theApp.m_pTuner = new ts::Tuner(theApp.m_duck, deviceName, false, *theApp.m_pReportFile);
erg = theApp.m_pTuner->open(deviceName, false, *theApp.m_pReportFile);
...
}`
A new opening of the tuner is apparently not enough.
OK, I will check.
I have made a test closing / reopening the same ts::Tuner
object and it works. I have currently only one tuner to test and close / reopen is done on the same tuner device, so the test a bit different. But looking at the source code, I see no reason why a close / reopen should not work.
Test done on Windows 10 20H2, VS 2019, current TSDuck repo state (3.24-2103).
Which version of TSDuck are you using?
I'm using TSDuck-Win64-3.23-1965.exe.
I will install the latest one. I report then.
I do not think it will change anything. I was wondering if you were using some very old version. But this is not the case.
hmmm... look here
Yes, 3.23 is the latest official version. When I say "latest repo", I mean the current state of the source code in the git repo.
You can find nightly builds of beta versions here: https://tsduck.io/download/prerelease/
But, again I do not think this will solve your issue. There is no significant difference in the way tuners are opened and closed.
First of all many thanks for disclosing the sources. This is not a matter of course.
I have the following problem:
Hardware : Hauppauge HVR 4400 Develop : Visual Studio 2019
With the parameters
tsp -O file test.ts -P until --seconds 20 -I dvb --delivery-system DVB-S2 --lnb Astra --frequency 11493750000 --polarity horizontal --symbol-rate 21995000 --device-name :1
I get a stream.
but I cannot get a stream in my own program
parameter before the call of
After calling tuner.Start I get the error message
Error: no input DVB signal after 5,000 milliseconds
When I get the ModArgs parameters with
i get this:
What I have not understood?