Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
872976e5
Commit
872976e5
authored
May 19, 2007
by
Ken Self
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More BDA DVB-S and DVB-T parameters bring it closer to the linux version
parent
147305c6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
148 additions
and
27 deletions
+148
-27
modules/access/bda/bda.c
modules/access/bda/bda.c
+58
-21
modules/access/bda/bdagraph.cpp
modules/access/bda/bdagraph.cpp
+90
-6
No files found.
modules/access/bda/bda.c
View file @
872976e5
...
...
@@ -57,6 +57,9 @@ static int Control( access_t *, int, va_list );
#define INVERSION_TEXT N_("Inversion mode")
#define INVERSION_LONGTEXT N_("Inversion mode [0=off, 1=on, 2=auto]")
static
const
int
i_inversion_list
[]
=
{
-
1
,
0
,
1
,
2
};
static
const
char
*
ppsz_inversion_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"Off"
),
N_
(
"On"
),
N_
(
"Auto"
)
};
#define PROBE_TEXT N_("Probe DVB card for capabilities")
#define PROBE_LONGTEXT N_("Some DVB cards do not like to be probed for their " \
...
...
@@ -68,8 +71,13 @@ static int Control( access_t *, int, va_list );
"with a \"budget\" card.")
/* Satellite */
#define SATNO_TEXT N_("Satellite number in the Diseqc system")
#define SATNO_LONGTEXT N_("[0=no diseqc, 1-4=satellite number].")
#if defined(WIN32) || defined(WINCE)
# define NETID_TEXT N_("Network Identifier")
# define NETID_LONGTEXT ""
#else
# define SATNO_TEXT N_("Satellite number in the Diseqc system")
# define SATNO_LONGTEXT N_("[0=no diseqc, 1-4=satellite number].")
#endif
#define VOLTAGE_TEXT N_("LNB voltage")
#define VOLTAGE_LONGTEXT N_("In Volts [0, 13=vertical, 18=horizontal].")
...
...
@@ -107,10 +115,18 @@ static const char *ppsz_qam_text[] = { N_("Undefined"), N_("16"), N_("32"),
/* Terrestrial */
#define CODE_RATE_HP_TEXT N_("Terrestrial high priority stream code rate (FEC)")
#define CODE_RATE_HP_LONGTEXT ""
#define CODE_RATE_HP_LONGTEXT N_("High Priority FEC Rate " \
"[Undefined,1/2,2/3,3/4,5/6,7/8]")
static
const
int
i_hp_fec_list
[]
=
{
-
1
,
1
,
2
,
3
,
4
,
5
};
static
const
char
*
ppsz_hp_fec_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"1/2"
),
N_
(
"2/3"
),
N_
(
"3/4"
),
N_
(
"5/6"
),
N_
(
"7/8"
)
};
#define CODE_RATE_LP_TEXT N_("Terrestrial low priority stream code rate (FEC)")
#define CODE_RATE_LP_LONGTEXT ""
#define CODE_RATE_LP_LONGTEXT N_("Low Priority FEC Rate " \
"[Undefined,1/2,2/3,3/4,5/6,7/8]")
static
const
int
i_lp_fec_list
[]
=
{
-
1
,
1
,
2
,
3
,
4
,
5
};
static
const
char
*
ppsz_lp_fec_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"1/2"
),
N_
(
"2/3"
),
N_
(
"3/4"
),
N_
(
"5/6"
),
N_
(
"7/8"
)
};
#define BANDWIDTH_TEXT N_("Terrestrial bandwidth")
#define BANDWIDTH_LONGTEXT N_("Terrestrial bandwidth [0=auto,6,7,8 in MHz]")
...
...
@@ -119,13 +135,22 @@ static const char *ppsz_band_text[] = { N_("Undefined"), N_("6"), N_("7"),
N_
(
"8"
)
};
#define GUARD_TEXT N_("Terrestrial guard interval")
#define GUARD_LONGTEXT ""
#define GUARD_LONGTEXT N_("Guard interval [Undefined,1/4,1/8,1/16,1/32]")
static
const
int
i_guard_list
[]
=
{
-
1
,
4
,
8
,
16
,
32
};
static
const
char
*
ppsz_guard_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"1/4"
),
N_
(
"1/8"
),
N_
(
"1/16"
),
N_
(
"1/32"
)
};
#define TRANSMISSION_TEXT N_("Terrestrial transmission mode")
#define TRANSMISSION_LONGTEXT ""
#define TRANSMISSION_LONGTEXT N_("Transmission mode [Undefined,2k,8k]")
static
const
int
i_transmission_list
[]
=
{
-
1
,
2
,
8
};
static
const
char
*
ppsz_transmission_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"2k"
),
N_
(
"8k"
)
};
#define HIERARCHY_TEXT N_("Terrestrial hierarchy mode")
#define HIERARCHY_LONGTEXT ""
#define HIERARCHY_LONGTEXT N_("Hierarchy alpha value [Undefined,1,2,4]")
static
const
int
i_hierarchy_list
[]
=
{
-
1
,
1
,
2
,
4
};
static
const
char
*
ppsz_hierarchy_text
[]
=
{
N_
(
"Undefined"
),
N_
(
"1"
),
N_
(
"2"
),
N_
(
"4"
)
};
/* BDA module additional DVB-S Parameters */
#define AZIMUTH_TEXT N_("Satellite Azimuth")
...
...
@@ -157,24 +182,27 @@ vlc_module_begin();
VLC_FALSE
);
add_integer
(
"dvb-device"
,
0
,
NULL
,
DEVICE_TEXT
,
DEVICE_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-inversion"
,
2
,
NULL
,
INVERSION_TEXT
,
INVERSION_LONGTEXT
,
VLC_TRUE
);
add_bool
(
"dvb-probe"
,
1
,
NULL
,
PROBE_TEXT
,
PROBE_LONGTEXT
,
VLC_TRUE
);
add_bool
(
"dvb-budget-mode"
,
0
,
NULL
,
BUDGET_TEXT
,
BUDGET_LONGTEXT
,
VLC_TRUE
);
# endif
/* DVB-S (satellite) */
add_integer
(
"dvb-inversion"
,
2
,
NULL
,
INVERSION_TEXT
,
INVERSION_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_inversion_list
,
ppsz_inversion_text
,
0
);
# if defined(WIN32) || defined(WINCE)
add_string
(
"dvb-polarisation"
,
NULL
,
NULL
,
POLARISATION_TEXT
,
POLARISATION_LONGTEXT
,
VLC_TRUE
);
change_string_list
(
ppsz_polar_list
,
ppsz_polar_text
,
0
);
add_integer
(
"dvb-network-id"
,
0
,
NULL
,
NETID_TEXT
,
NETID_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-azimuth"
,
0
,
NULL
,
AZIMUTH_TEXT
,
AZIMUTH_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-elevation"
,
0
,
NULL
,
ELEVATION_TEXT
,
ELEVATION_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-longitude"
,
0
,
NULL
,
LONGITUDE_TEXT
,
LONGITUDE_LONGTEXT
,
VLC_TRUE
);
add_string
(
"dvb-polarisation"
,
NULL
,
NULL
,
POLARISATION_TEXT
,
POLARISATION_LONGTEXT
,
VLC_TRUE
);
change_string_list
(
ppsz_polar_list
,
ppsz_polar_text
,
0
);
/* Note: Polaristion H = voltage 18; V = voltage 13; */
# else
add_integer
(
"dvb-satno"
,
0
,
NULL
,
SATNO_TEXT
,
SATNO_LONGTEXT
,
...
...
@@ -198,23 +226,28 @@ vlc_module_begin();
VLC_FALSE
);
/* DVB-C (cable) */
add_integer
(
"dvb-modulation"
,
0
,
NULL
,
MODULATION_TEXT
,
add_integer
(
"dvb-modulation"
,
-
1
,
NULL
,
MODULATION_TEXT
,
MODULATION_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_qam_list
,
ppsz_qam_text
,
0
);
/* DVB-T (terrestrial) */
add_integer
(
"dvb-code-rate-hp"
,
9
,
NULL
,
CODE_RATE_HP_TEXT
,
add_integer
(
"dvb-code-rate-hp"
,
-
1
,
NULL
,
CODE_RATE_HP_TEXT
,
CODE_RATE_HP_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-code-rate-lp"
,
9
,
NULL
,
CODE_RATE_LP_TEXT
,
change_integer_list
(
i_hp_fec_list
,
ppsz_hp_fec_text
,
0
);
add_integer
(
"dvb-code-rate-lp"
,
-
1
,
NULL
,
CODE_RATE_LP_TEXT
,
CODE_RATE_LP_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_lp_fec_list
,
ppsz_lp_fec_text
,
0
);
add_integer
(
"dvb-bandwidth"
,
0
,
NULL
,
BANDWIDTH_TEXT
,
BANDWIDTH_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_band_list
,
ppsz_band_text
,
0
);
add_integer
(
"dvb-guard"
,
0
,
NULL
,
GUARD_TEXT
,
GUARD_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-transmission"
,
0
,
NULL
,
TRANSMISSION_TEXT
,
add_integer
(
"dvb-guard"
,
-
1
,
NULL
,
GUARD_TEXT
,
GUARD_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_guard_list
,
ppsz_guard_text
,
0
);
add_integer
(
"dvb-transmission"
,
-
1
,
NULL
,
TRANSMISSION_TEXT
,
TRANSMISSION_LONGTEXT
,
VLC_TRUE
);
add_integer
(
"dvb-hierarchy"
,
0
,
NULL
,
HIERARCHY_TEXT
,
HIERARCHY_LONGTEXT
,
change_integer_list
(
i_transmission_list
,
ppsz_transmission_text
,
0
);
add_integer
(
"dvb-hierarchy"
,
-
1
,
NULL
,
HIERARCHY_TEXT
,
HIERARCHY_LONGTEXT
,
VLC_TRUE
);
change_integer_list
(
i_hierarchy_list
,
ppsz_hierarchy_text
,
0
);
set_capability
(
"access2"
,
0
);
add_shortcut
(
"dvb"
);
/* Generic name */
...
...
@@ -244,15 +277,19 @@ static int Open( vlc_object_t *p_this )
access_t
*
p_access
=
(
access_t
*
)
p_this
;
access_sys_t
*
p_sys
;
const
char
*
psz_module
=
"dvb"
;
const
int
i_param_count
=
1
2
;
const
int
i_param_count
=
1
9
;
const
char
*
psz_param
[]
=
{
"frequency"
,
"bandwidth"
,
"srate"
,
"azimuth"
,
"elevation"
,
"longitude"
,
"polarisation"
,
"modulation"
,
"caching"
,
"lnb-lof1"
,
"lnb-lof2"
,
"lnb-slof"
};
"modulation"
,
"caching"
,
"lnb-lof1"
,
"lnb-lof2"
,
"lnb-slof"
,
"inversion"
,
"network-id"
,
"code-rate-hp"
,
"code-rate-lp"
,
"guard"
,
"transmission"
,
"hierarchy"
};
const
int
i_type
[]
=
{
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_STRING
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
};
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
,
VLC_VAR_INTEGER
};
char
psz_full_name
[
128
];
int
i_ret
;
...
...
modules/access/bda/bdagraph.cpp
View file @
872976e5
...
...
@@ -235,11 +235,70 @@ int BDAGraph::SubmitDVBTTuneRequest()
p_dvbt_locator
->
Release
();
}
}
l
;
long
l_frequency
,
l_bandwidth
;
l_frequency
=
l_bandwidth
=
-
1
;
long
l_frequency
,
l_bandwidth
,
l_hp_fec
,
l_lp_fec
,
l_guard
;
long
l_transmission
,
l_hierarchy
;
BinaryConvolutionCodeRate
i_hp_fec
,
i_lp_fec
;
GuardInterval
i_guard
;
TransmissionMode
i_transmission
;
HierarchyAlpha
i_hierarchy
;
l_frequency
=
l_bandwidth
=
l_hp_fec
=
l_lp_fec
=
l_guard
=
-
1
;
l_transmission
=
l_hierarchy
=
-
1
;
l_frequency
=
var_GetInteger
(
p_access
,
"dvb-frequency"
);
l_bandwidth
=
var_GetInteger
(
p_access
,
"dvb-bandwidth"
);
l_hp_fec
=
var_GetInteger
(
p_access
,
"dvb-code-rate-hp"
);
l_lp_fec
=
var_GetInteger
(
p_access
,
"dvb-code-rate-lp"
);
l_guard
=
var_GetInteger
(
p_access
,
"dvb-guard"
);
l_transmission
=
var_GetInteger
(
p_access
,
"dvb-transmission"
);
l_hierarchy
=
var_GetInteger
(
p_access
,
"dvb-hierarchy"
);
i_hp_fec
=
BDA_BCC_RATE_NOT_SET
;
if
(
l_hp_fec
==
1
)
i_hp_fec
=
BDA_BCC_RATE_1_2
;
if
(
l_hp_fec
==
2
)
i_hp_fec
=
BDA_BCC_RATE_2_3
;
if
(
l_hp_fec
==
3
)
i_hp_fec
=
BDA_BCC_RATE_3_4
;
if
(
l_hp_fec
==
4
)
i_hp_fec
=
BDA_BCC_RATE_5_6
;
if
(
l_hp_fec
==
5
)
i_hp_fec
=
BDA_BCC_RATE_7_8
;
i_lp_fec
=
BDA_BCC_RATE_NOT_SET
;
if
(
l_lp_fec
==
1
)
i_lp_fec
=
BDA_BCC_RATE_1_2
;
if
(
l_lp_fec
==
2
)
i_lp_fec
=
BDA_BCC_RATE_2_3
;
if
(
l_lp_fec
==
3
)
i_lp_fec
=
BDA_BCC_RATE_3_4
;
if
(
l_lp_fec
==
4
)
i_lp_fec
=
BDA_BCC_RATE_5_6
;
if
(
l_lp_fec
==
5
)
i_lp_fec
=
BDA_BCC_RATE_7_8
;
i_guard
=
BDA_GUARD_NOT_SET
;
if
(
l_guard
==
32
)
i_guard
=
BDA_GUARD_1_32
;
if
(
l_guard
==
16
)
i_guard
=
BDA_GUARD_1_16
;
if
(
l_guard
==
8
)
i_guard
=
BDA_GUARD_1_8
;
if
(
l_guard
==
4
)
i_guard
=
BDA_GUARD_1_4
;
i_transmission
=
BDA_XMIT_MODE_NOT_SET
;
if
(
l_transmission
==
2
)
i_transmission
=
BDA_XMIT_MODE_2K
;
if
(
l_transmission
==
8
)
i_transmission
=
BDA_XMIT_MODE_8K
;
i_hierarchy
=
BDA_HALPHA_NOT_SET
;
if
(
l_hierarchy
==
1
)
i_hierarchy
=
BDA_HALPHA_1
;
if
(
l_hierarchy
==
2
)
i_hierarchy
=
BDA_HALPHA_2
;
if
(
l_hierarchy
==
4
)
i_hierarchy
=
BDA_HALPHA_4
;
guid_network_type
=
CLSID_DVBTNetworkProvider
;
hr
=
CreateTuneRequest
();
...
...
@@ -276,6 +335,16 @@ int BDAGraph::SubmitDVBTTuneRequest()
hr
=
l
.
p_dvbt_locator
->
put_CarrierFrequency
(
l_frequency
);
if
(
SUCCEEDED
(
hr
)
&&
l_bandwidth
>
0
)
hr
=
l
.
p_dvbt_locator
->
put_Bandwidth
(
l_bandwidth
);
if
(
SUCCEEDED
(
hr
)
&&
i_hp_fec
!=
BDA_BCC_RATE_NOT_SET
)
hr
=
l
.
p_dvbt_locator
->
put_InnerFECRate
(
i_hp_fec
);
if
(
SUCCEEDED
(
hr
)
&&
i_lp_fec
!=
BDA_BCC_RATE_NOT_SET
)
hr
=
l
.
p_dvbt_locator
->
put_LPInnerFECRate
(
i_lp_fec
);
if
(
SUCCEEDED
(
hr
)
&&
i_guard
!=
BDA_GUARD_NOT_SET
)
hr
=
l
.
p_dvbt_locator
->
put_Guard
(
i_guard
);
if
(
SUCCEEDED
(
hr
)
&&
i_transmission
!=
BDA_XMIT_MODE_NOT_SET
)
hr
=
l
.
p_dvbt_locator
->
put_Mode
(
i_transmission
);
if
(
SUCCEEDED
(
hr
)
&&
i_hierarchy
!=
BDA_HALPHA_NOT_SET
)
hr
=
l
.
p_dvbt_locator
->
put_HAlpha
(
i_hierarchy
);
if
(
FAILED
(
hr
)
)
{
msg_Warn
(
p_access
,
"SubmitDVBTTuneRequest: "
\
...
...
@@ -449,13 +518,14 @@ int BDAGraph::SubmitDVBSTuneRequest()
}
}
l
;
long
l_frequency
,
l_symbolrate
,
l_azimuth
,
l_elevation
,
l_longitude
;
long
l_lnb_lof1
,
l_lnb_lof2
,
l_lnb_slof
;
long
l_lnb_lof1
,
l_lnb_lof2
,
l_lnb_slof
,
l_inversion
,
l_network_id
;
char
*
psz_polarisation
;
Polarisation
i_polar
;
SpectralInversion
i_inversion
;
VARIANT_BOOL
b_west
;
l_frequency
=
l_symbolrate
=
l_azimuth
=
l_elevation
=
l_longitude
=
-
1
;
l_lnb_lof1
=
l_lnb_lof2
=
l_lnb_slof
=
-
1
;
l_lnb_lof1
=
l_lnb_lof2
=
l_lnb_slof
=
l_inversion
=
l_network_id
=
-
1
;
l_frequency
=
var_GetInteger
(
p_access
,
"dvb-frequency"
);
l_symbolrate
=
var_GetInteger
(
p_access
,
"dvb-srate"
);
l_azimuth
=
var_GetInteger
(
p_access
,
"dvb-azimuth"
);
...
...
@@ -465,6 +535,8 @@ int BDAGraph::SubmitDVBSTuneRequest()
l_lnb_lof2
=
var_GetInteger
(
p_access
,
"dvb-lnb-lof2"
);
l_lnb_slof
=
var_GetInteger
(
p_access
,
"dvb-lnb-slof"
);
psz_polarisation
=
var_GetString
(
p_access
,
"dvb-polarisation"
);
l_inversion
=
var_GetInteger
(
p_access
,
"dvb-inversion"
);
l_network_id
=
var_GetInteger
(
p_access
,
"dvb-network_id"
);
b_west
=
(
l_longitude
<
0
)
?
TRUE
:
FALSE
;
...
...
@@ -478,6 +550,14 @@ int BDAGraph::SubmitDVBSTuneRequest()
if
(
*
psz_polarisation
==
'R'
||
*
psz_polarisation
==
'r'
)
i_polar
=
BDA_POLARISATION_CIRCULAR_R
;
i_inversion
=
BDA_SPECTRAL_INVERSION_NOT_SET
;
if
(
l_inversion
==
0
)
i_inversion
=
BDA_SPECTRAL_INVERSION_NORMAL
;
if
(
l_inversion
==
1
)
i_inversion
=
BDA_SPECTRAL_INVERSION_INVERTED
;
if
(
l_inversion
==
2
)
i_inversion
=
BDA_SPECTRAL_INVERSION_AUTOMATIC
;
guid_network_type
=
CLSID_DVBSNetworkProvider
;
hr
=
CreateTuneRequest
();
if
(
FAILED
(
hr
)
)
...
...
@@ -537,7 +617,11 @@ int BDAGraph::SubmitDVBSTuneRequest()
if
(
SUCCEEDED
(
hr
)
&&
l_lnb_lof2
>
0
)
hr
=
l
.
p_dvbs_tuning_space
->
put_HighOscillator
(
l_lnb_lof2
);
if
(
SUCCEEDED
(
hr
)
&&
l_lnb_slof
>
0
)
hr
=
l
.
p_dvbs_tuning_space
->
put_HighOscillator
(
l_lnb_slof
);
hr
=
l
.
p_dvbs_tuning_space
->
put_LNBSwitch
(
l_lnb_slof
);
if
(
SUCCEEDED
(
hr
)
&&
i_inversion
!=
BDA_SPECTRAL_INVERSION_NOT_SET
)
hr
=
l
.
p_dvbs_tuning_space
->
put_SpectralInversion
(
i_inversion
);
if
(
SUCCEEDED
(
hr
)
&&
l_network_id
>
0
)
hr
=
l
.
p_dvbs_tuning_space
->
put_NetworkID
(
l_network_id
);
if
(
FAILED
(
hr
)
)
{
msg_Warn
(
p_access
,
"SubmitDVBSTuneRequest: "
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment