LINUX DVB API Version 3
Copyright 2002, 2003 Convergence GmbH
Written by Dr. Ralph J.K. Metzler
<rjkm@metzlerbros.de>
and Dr. Marcus O.C. Metzler
<mocm@metzlerbros.de>
24/07/2003
V 1.0.0
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.1 or any later version pub-
lished by the Free Software Foundation. A copy of the license is included in the chapter
entitled ”GNU Free Documentation License”.
Contents
1 Introduction 1
1.1 What you need to know . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Linux DVB Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 API include files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 DVB Frontend API 5
2.1 Frontend Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 frontend type . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 frontend capabilities . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 frontend information . . . . . . . . . . . . . . . . . . . . . . 6
2.1.4 diseqc master command . . . . . . . . . . . . . . . . . . . . 6
2.1.5 diseqc slave reply . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.6 SEC voltage . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.7 SEC continuous tone . . . . . . . . . . . . . . . . . . . . . . 7
2.1.8 SEC tone burst . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.9 frontend status . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.10 frontend parameters . . . . . . . . . . . . . . . . . . . . . . 8
2.1.11 frontend events . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Frontend Function Calls . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 FE READ STATUS . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 FE READ BER . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.5 FE READ SNR . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.6 FE READ SIGNAL STRENGTH . . . . . . . . . . . . . . . 13
2.2.7 FE READ UNCORRECTED BLOCKS . . . . . . . . . . . 14
2.2.8 FE SET FRONTEND . . . . . . . . . . . . . . . . . . . . . 14
2.2.9 FE GET FRONTEND . . . . . . . . . . . . . . . . . . . . . 15
2.2.10 FE GET EVENT . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.11 FE GET INFO . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.12 FE DISEQC RESET OVERLOAD . . . . . . . . . . . . . . 16
2.2.13 FE DISEQC SEND MASTER CMD . . . . . . . . . . . . . 17
2.2.14 FE DISEQC RECV SLAVE REPLY . . . . . . . . . . . . . 17
2.2.15 FE DISEQC SEND BURST . . . . . . . . . . . . . . . . . . 18
2.2.16 FE SET TONE . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.17 FE SET VOLTAGE . . . . . . . . . . . . . . . . . . . . . . 19
i
CONTENTS CONTENTS
2.2.18 FE ENABLE HIGH LNB VOLTAGE . . . . . . . . . . . . . 19
3 DVB Demux Device 21
3.1 Demux Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 dmx output t . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.2 dmx input t . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.3 dmx pes type t . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 dmx event t . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.5 dmx scrambling status t . . . . . . . . . . . . . . . . . . . . 22
3.1.6 struct dmx filter . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.7 struct dmx sct filter params . . . . . . . . . . . . . . . . . . 22
3.1.8 struct dmx pes filter params . . . . . . . . . . . . . . . . . . 22
3.1.9 struct dmx event . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.10 struct dmx stc . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Demux Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.1 open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3 read() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.4 write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.5 DMX START . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.6 DMX STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.7 DMX SET FILTER . . . . . . . . . . . . . . . . . . . . . . 27
3.2.8 DMX SET PES FILTER . . . . . . . . . . . . . . . . . . . . 28
3.2.9 DMX SET BUFFER SIZE . . . . . . . . . . . . . . . . . . 28
3.2.10 DMX GET EVENT . . . . . . . . . . . . . . . . . . . . . . 29
3.2.11 DMX GET STC . . . . . . . . . . . . . . . . . . . . . . . . 29
4 DVB Video Device 31
4.1 Video Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 video format t . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.2 video display format t . . . . . . . . . . . . . . . . . . . . . 31
4.1.3 video stream source . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.4 video play state . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.5 struct video event . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.6 struct video status . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.7 struct video still picture . . . . . . . . . . . . . . . . . . . . 33
4.1.8 video capabilities . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.9 video system . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.10 struct video highlight . . . . . . . . . . . . . . . . . . . . . . 34
4.1.11 video SPU . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.12 video SPU palette . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.13 video NAVI pack . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.14 video attributes . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Video Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.1 open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.2 close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.3 write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.4 VIDEO STOP . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.5 VIDEO PLAY . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.6 VIDEO FREEZE . . . . . . . . . . . . . . . . . . . . . . . . 38
ii
CONTENTS CONTENTS
4.2.7 VIDEO CONTINUE . . . . . . . . . . . . . . . . . . . . . . 38
4.2.8 VIDEO SELECT SOURCE . . . . . . . . . . . . . . . . . . 39
4.2.9 VIDEO SET BLANK . . . . . . . . . . . . . . . . . . . . . 39
4.2.10 VIDEO GET STATUS . . . . . . . . . . . . . . . . . . . . . 40
4.2.11 VIDEO GET EVENT . . . . . . . . . . . . . . . . . . . . . 40
4.2.12 VIDEO SET DISPLAY FORMAT . . . . . . . . . . . . . . 41
4.2.13 VIDEO STILLPICTURE . . . . . . . . . . . . . . . . . . . 41
4.2.14 VIDEO FAST FORWARD . . . . . . . . . . . . . . . . . . 42
4.2.15 VIDEO SLOWMOTION . . . . . . . . . . . . . . . . . . . . 42
4.2.16 VIDEO GET CAPABILITIES . . . . . . . . . . . . . . . . . 42
4.2.17 VIDEO SET ID . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.18 VIDEO CLEAR BUFFER . . . . . . . . . . . . . . . . . . . 43
4.2.19 VIDEO SET STREAMTYPE . . . . . . . . . . . . . . . . . 44
4.2.20 VIDEO SET FORMAT . . . . . . . . . . . . . . . . . . . . 44
4.2.21 VIDEO SET SYSTEM . . . . . . . . . . . . . . . . . . . . 44
4.2.22 VIDEO SET HIGHLIGHT . . . . . . . . . . . . . . . . . . 45
4.2.23 VIDEO SET SPU . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.24 VIDEO SET SPU PALETTE . . . . . . . . . . . . . . . . . 46
4.2.25 VIDEO GET NAVI . . . . . . . . . . . . . . . . . . . . . . 46
4.2.26 VIDEO SET ATTRIBUTES . . . . . . . . . . . . . . . . . . 46
5 DVB Audio Device 49
5.1 Audio Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.1 audio stream source t . . . . . . . . . . . . . . . . . . . . . 49
5.1.2 audio play state t . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.3 audio channel select t . . . . . . . . . . . . . . . . . . . . . 50
5.1.4 struct audio status . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.5 struct audio mixer . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.6 audio encodings . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.7 struct audio karaoke . . . . . . . . . . . . . . . . . . . . . . 51
5.1.8 audio attributes . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Audio Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.1 open() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.2 close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2.3 write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.4 AUDIO STOP . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.5 AUDIO PLAY . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.6 AUDIO PAUSE . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.7 AUDIO SELECT SOURCE . . . . . . . . . . . . . . . . . . 54
5.2.8 AUDIO SET MUTE . . . . . . . . . . . . . . . . . . . . . . 55
5.2.9 AUDIO SET AV SYNC . . . . . . . . . . . . . . . . . . . . 55
5.2.10 AUDIO SET BYPASS MODE . . . . . . . . . . . . . . . . 55
5.2.11 AUDIO CHANNEL SELECT . . . . . . . . . . . . . . . . . 56
5.2.12 AUDIO GET STATUS . . . . . . . . . . . . . . . . . . . . . 56
5.2.13 AUDIO GET CAPABILITIES . . . . . . . . . . . . . . . . . 57
5.2.14 AUDIO CLEAR BUFFER . . . . . . . . . . . . . . . . . . . 57
5.2.15 AUDIO SET ID . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.16 AUDIO SET MIXER . . . . . . . . . . . . . . . . . . . . . 58
5.2.17 AUDIO SET STREAMTYPE . . . . . . . . . . . . . . . . . 58
5.2.18 AUDIO SET EXT ID . . . . . . . . . . . . . . . . . . . . . 59
iii