Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
a769aa6e
Commit
a769aa6e
authored
Mar 11, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DTV: deal with "cable", "terrestrial" and "satellite" scheme right
This requires Linux DVBv5.5.
parent
9537fc5c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
21 deletions
+36
-21
modules/access/dtv/access.c
modules/access/dtv/access.c
+36
-21
No files found.
modules/access/dtv/access.c
View file @
a769aa6e
...
...
@@ -589,25 +589,7 @@ static int Control (access_t *access, int query, va_list args)
/** Determines which delivery system to use. */
static
const
delsys_t
*
GuessSystem
(
const
char
*
scheme
,
dvb_device_t
*
dev
)
{
/* NOTE: We should guess the delivery system for the "cable", "satellite"
* and "terrestrial" shortcuts (i.e. DVB, ISDB, ATSC...). But there is
* seemingly no sane way to do get the info with Linux DVB version 5.2.
* In particular, the frontend infos distinguish only the modulator class
* (QPSK, QAM, OFDM or ATSC).
*
* Furthermore, if the demodulator supports 2G, we cannot guess whether
* 1G or 2G is intended. For backward compatibility, 1G is assumed
* (this is not a limitation of Linux DVB). We will probably need something
* smarter when 2G (semi automatic) scanning is implemented. */
if
(
!
strcasecmp
(
scheme
,
"cable"
))
scheme
=
"dvb-c"
;
else
if
(
!
strcasecmp
(
scheme
,
"satellite"
))
scheme
=
"dvb-s"
;
else
if
(
!
strcasecmp
(
scheme
,
"terrestrial"
))
scheme
=
"dvb-t"
;
/* Specific delivery system is specified */
if
(
!
strcasecmp
(
scheme
,
"atsc"
))
return
&
atsc
;
if
(
!
strcasecmp
(
scheme
,
"cqam"
))
...
...
@@ -629,15 +611,48 @@ static const delsys_t *GuessSystem (const char *scheme, dvb_device_t *dev)
if
(
!
strcasecmp
(
scheme
,
"isdb-t"
))
return
&
isdbt
;
/* If the demodulator supports 2G, we cannot guess whether
* 1G or 2G is intended. For backward compatibility, 1G is assumed
* (this is not a limitation of Linux DVB). We will probably need something
* smarter when 2G (semi automatic) scanning is implemented. */
unsigned
systems
=
dvb_enum_systems
(
dev
);
/* Only wave carrier is specified */
if
(
!
strcasecmp
(
scheme
,
"cable"
))
{
if
(
systems
&
DVB_C
)
return
&
dvbc
;
if
(
systems
&
CQAM
)
return
&
cqam
;
if
(
systems
&
ISDB_C
)
return
&
isdbc
;
}
if
(
!
strcasecmp
(
scheme
,
"satellite"
))
{
if
(
systems
&
DVB_S
)
return
&
dvbs
;
if
(
systems
&
ISDB_S
)
return
&
isdbs
;
}
if
(
!
strcasecmp
(
scheme
,
"terrestrial"
))
{
if
(
systems
&
DVB_T
)
return
&
dvbc
;
if
(
systems
&
ATSC
)
return
&
atsc
;
return
&
cqam
;
if
(
systems
&
ISDB_T
)
return
&
isdbt
;
}
/* Only standards family or nothing is specified */
if
(
systems
&
DVB_C
)
return
&
dvbc
;
if
(
systems
&
DVB_S
)
return
&
dvbc
;
if
(
systems
&
DVB_T
)
return
&
dvbt
;
if
(
systems
&
ATSC
)
return
&
atsc
;
return
NULL
;
}
...
...
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