Part II - Digital TV API¶
Note
This API is also known as Linux DVB API.
It it was originally written to support the European digital TV standard (DVB), and later extended to support all digital TV standards.
In order to avoid confusion, within this document, it was opted to refer to it, and to associated hardware as Digital TV.
The word DVB is reserved to be used for:
- the Digital TV API version (e. g. DVB API version 3 or DVB API version 5);
- digital TV data types (enums, structs, defines, etc);
- digital TV device nodes (
/dev/dvb/...
);- the European DVB standard.
Version 5.10
Table of Contents
- 1. Introduction
- 2. Digital TV Frontend API
- 2.1. Querying frontend information
- 2.2. Querying frontend status and statistics
- 2.3. Property types
- 2.3.1. Digital TV property parameters
- 2.3.1.1. DTV_UNDEFINED
- 2.3.1.2. DTV_TUNE
- 2.3.1.3. DTV_CLEAR
- 2.3.1.4. DTV_FREQUENCY
- 2.3.1.5. DTV_MODULATION
- 2.3.1.6. DTV_BANDWIDTH_HZ
- 2.3.1.7. DTV_INVERSION
- 2.3.1.8. DTV_DISEQC_MASTER
- 2.3.1.9. DTV_SYMBOL_RATE
- 2.3.1.10. DTV_INNER_FEC
- 2.3.1.11. DTV_VOLTAGE
- 2.3.1.12. DTV_TONE
- 2.3.1.13. DTV_PILOT
- 2.3.1.14. DTV_ROLLOFF
- 2.3.1.15. DTV_DISEQC_SLAVE_REPLY
- 2.3.1.16. DTV_FE_CAPABILITY_COUNT
- 2.3.1.17. DTV_FE_CAPABILITY
- 2.3.1.18. DTV_DELIVERY_SYSTEM
- 2.3.1.19. DTV_ISDBT_PARTIAL_RECEPTION
- 2.3.1.20. DTV_ISDBT_SOUND_BROADCASTING
- 2.3.1.21. DTV_ISDBT_SB_SUBCHANNEL_ID
- 2.3.1.22. DTV_ISDBT_SB_SEGMENT_IDX
- 2.3.1.23. DTV_ISDBT_SB_SEGMENT_COUNT
- 2.3.1.24. DTV-ISDBT-LAYER[A-C] parameters
- 2.3.1.24.1. DTV_ISDBT_LAYER_ENABLED
- 2.3.1.24.2. DTV_ISDBT_LAYER[A-C]_FEC
- 2.3.1.24.3. DTV_ISDBT_LAYER[A-C]_MODULATION
- 2.3.1.24.4. DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
- 2.3.1.24.5. DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
- 2.3.1.24.6. DTV_ATSCMH_FIC_VER
- 2.3.1.24.7. DTV_ATSCMH_PARADE_ID
- 2.3.1.24.8. DTV_ATSCMH_NOG
- 2.3.1.24.9. DTV_ATSCMH_TNOG
- 2.3.1.24.10. DTV_ATSCMH_SGN
- 2.3.1.24.11. DTV_ATSCMH_PRC
- 2.3.1.24.12. DTV_ATSCMH_RS_FRAME_MODE
- 2.3.1.24.13. DTV_ATSCMH_RS_FRAME_ENSEMBLE
- 2.3.1.24.14. DTV_ATSCMH_RS_CODE_MODE_PRI
- 2.3.1.24.15. DTV_ATSCMH_RS_CODE_MODE_SEC
- 2.3.1.24.16. DTV_ATSCMH_SCCC_BLOCK_MODE
- 2.3.1.24.17. DTV_ATSCMH_SCCC_CODE_MODE_A
- 2.3.1.24.18. DTV_ATSCMH_SCCC_CODE_MODE_B
- 2.3.1.24.19. DTV_ATSCMH_SCCC_CODE_MODE_C
- 2.3.1.24.20. DTV_ATSCMH_SCCC_CODE_MODE_D
- 2.3.1.25. DTV_API_VERSION
- 2.3.1.26. DTV_CODE_RATE_HP
- 2.3.1.27. DTV_CODE_RATE_LP
- 2.3.1.28. DTV_GUARD_INTERVAL
- 2.3.1.29. DTV_TRANSMISSION_MODE
- 2.3.1.30. DTV_HIERARCHY
- 2.3.1.31. DTV_STREAM_ID
- 2.3.1.32. DTV_DVBT2_PLP_ID_LEGACY
- 2.3.1.33. DTV_ENUM_DELSYS
- 2.3.1.34. DTV_INTERLEAVING
- 2.3.1.35. DTV_LNA
- 2.3.2. Frontend statistics indicators
- 2.3.3. Properties used on terrestrial delivery systems
- 2.3.4. Properties used on cable delivery systems
- 2.3.5. Properties used on satellite delivery systems
- 2.3.6. Frontend uAPI data types
- 2.3.1. Digital TV property parameters
- 2.4. Frontend Function Calls
- 2.4.1. Digital TV frontend open()
- 2.4.2. Digital TV frontend close()
- 2.4.3. ioctl FE_GET_INFO
- 2.4.4. ioctl FE_READ_STATUS
- 2.4.5. ioctl FE_SET_PROPERTY, FE_GET_PROPERTY
- 2.4.6. ioctl FE_DISEQC_RESET_OVERLOAD
- 2.4.7. ioctl FE_DISEQC_SEND_MASTER_CMD
- 2.4.8. ioctl FE_DISEQC_RECV_SLAVE_REPLY
- 2.4.9. ioctl FE_DISEQC_SEND_BURST
- 2.4.10. ioctl FE_SET_TONE
- 2.4.11. ioctl FE_SET_VOLTAGE
- 2.4.12. ioctl FE_ENABLE_HIGH_LNB_VOLTAGE
- 2.4.13. ioctl FE_SET_FRONTEND_TUNE_MODE
- 3. Digital TV Demux Device
- 3.1. Demux Data Types
- 3.2. Demux Function Calls
- 3.2.1. Digital TV demux open()
- 3.2.2. Digital TV demux close()
- 3.2.3. Digital TV demux read()
- 3.2.4. Digital TV demux write()
- 3.2.5. DMX_START
- 3.2.6. DMX_STOP
- 3.2.7. DMX_SET_FILTER
- 3.2.8. DMX_SET_PES_FILTER
- 3.2.9. DMX_SET_BUFFER_SIZE
- 3.2.10. DMX_GET_STC
- 3.2.11. DMX_GET_PES_PIDS
- 3.2.12. DMX_ADD_PID
- 3.2.13. DMX_REMOVE_PID
- 4. Digital TV CA Device
- 5. Digital TV Network API
- 6. Digital TV Deprecated APIs
- 6.1. Digital TV Frontend legacy API (a. k. a. DVBv3)
- 6.2. Digital TV Video Device
- 6.2.1. Video Data Types
- 6.2.1.1. video_format_t
- 6.2.1.2. video_displayformat_t
- 6.2.1.3. video_stream_source_t
- 6.2.1.4. video_play_state_t
- 6.2.1.5. struct video_command
- 6.2.1.6. video_size_t
- 6.2.1.7. struct video_event
- 6.2.1.8. struct video_status
- 6.2.1.9. struct video_still_picture
- 6.2.1.10. video capabilities
- 6.2.1.11. video_system_t
- 6.2.1.12. struct video_highlight
- 6.2.1.13. struct video_spu
- 6.2.1.14. struct video_spu_palette
- 6.2.1.15. struct video_navi_pack
- 6.2.1.16. video_attributes_t
- 6.2.2. Video Function Calls
- 6.2.2.1. dvb video open()
- 6.2.2.2. dvb video close()
- 6.2.2.3. dvb video write()
- 6.2.2.4. VIDEO_STOP
- 6.2.2.5. VIDEO_PLAY
- 6.2.2.6. VIDEO_FREEZE
- 6.2.2.7. VIDEO_CONTINUE
- 6.2.2.8. VIDEO_SELECT_SOURCE
- 6.2.2.9. VIDEO_SET_BLANK
- 6.2.2.10. VIDEO_GET_STATUS
- 6.2.2.11. VIDEO_GET_FRAME_COUNT
- 6.2.2.12. VIDEO_GET_PTS
- 6.2.2.13. VIDEO_GET_FRAME_RATE
- 6.2.2.14. VIDEO_GET_EVENT
- 6.2.2.15. VIDEO_COMMAND
- 6.2.2.16. VIDEO_TRY_COMMAND
- 6.2.2.17. VIDEO_GET_SIZE
- 6.2.2.18. VIDEO_SET_DISPLAY_FORMAT
- 6.2.2.19. VIDEO_STILLPICTURE
- 6.2.2.20. VIDEO_FAST_FORWARD
- 6.2.2.21. VIDEO_SLOWMOTION
- 6.2.2.22. VIDEO_GET_CAPABILITIES
- 6.2.2.23. VIDEO_SET_ID
- 6.2.2.24. VIDEO_CLEAR_BUFFER
- 6.2.2.25. VIDEO_SET_STREAMTYPE
- 6.2.2.26. VIDEO_SET_FORMAT
- 6.2.2.27. VIDEO_SET_SYSTEM
- 6.2.2.28. VIDEO_SET_HIGHLIGHT
- 6.2.2.29. VIDEO_SET_SPU
- 6.2.2.30. VIDEO_SET_SPU_PALETTE
- 6.2.2.31. VIDEO_GET_NAVI
- 6.2.2.32. VIDEO_SET_ATTRIBUTES
- 6.2.1. Video Data Types
- 6.3. Digital TV Audio Device
- 6.3.1. Audio Data Types
- 6.3.2. Audio Function Calls
- 6.3.2.1. Digital TV audio open()
- 6.3.2.2. Digital TV audio close()
- 6.3.2.3. Digital TV audio write()
- 6.3.2.4. AUDIO_STOP
- 6.3.2.5. AUDIO_PLAY
- 6.3.2.6. AUDIO_PAUSE
- 6.3.2.7. AUDIO_CONTINUE
- 6.3.2.8. AUDIO_SELECT_SOURCE
- 6.3.2.9. AUDIO_SET_MUTE
- 6.3.2.10. AUDIO_SET_AV_SYNC
- 6.3.2.11. AUDIO_SET_BYPASS_MODE
- 6.3.2.12. AUDIO_CHANNEL_SELECT
- 6.3.2.13. AUDIO_BILINGUAL_CHANNEL_SELECT
- 6.3.2.14. AUDIO_GET_PTS
- 6.3.2.15. AUDIO_GET_STATUS
- 6.3.2.16. AUDIO_GET_CAPABILITIES
- 6.3.2.17. AUDIO_CLEAR_BUFFER
- 6.3.2.18. AUDIO_SET_ID
- 6.3.2.19. AUDIO_SET_MIXER
- 6.3.2.20. AUDIO_SET_STREAMTYPE
- 6.3.2.21. AUDIO_SET_EXT_ID
- 6.3.2.22. AUDIO_SET_ATTRIBUTES
- 6.3.2.23. AUDIO_SET_KARAOKE
- 7. Examples
- 8. Digital TV uAPI header files
Revision and Copyright¶
Authors:
- Metzler, Ralph <rjkm@metzlerbros.de>
- Original author of the Digital TV API documentation.
- Metzler, Marcus <rjkm@metzlerbros.de>
- Original author of the Digital TV API documentation.
- Carvalho Chehab, Mauro <m.chehab@kernel.org>
- Ported document to Docbook XML, addition of DVBv5 API, documentation gaps fix.
Copyright © 2002-2003 : Convergence GmbH
Copyright © 2009-2017 : Mauro Carvalho Chehab
Revision History¶
revision: | 2.2.0 / 2017-09-01 (mcc) |
---|
Most gaps between the uAPI document and the Kernel implementation got fixed for the non-legacy API.
revision: | 2.1.0 / 2015-05-29 (mcc) |
---|
DocBook improvements and cleanups, in order to document the system calls on a more standard way and provide more description about the current Digital TV API.
revision: | 2.0.4 / 2011-05-06 (mcc) |
---|
Add more information about DVBv5 API, better describing the frontend GET/SET props ioctl’s.
revision: | 2.0.3 / 2010-07-03 (mcc) |
---|
Add some frontend capabilities flags, present on kernel, but missing at the specs.
revision: | 2.0.2 / 2009-10-25 (mcc) |
---|
documents FE_SET_FRONTEND_TUNE_MODE and FE_DISHETWORK_SEND_LEGACY_CMD ioctls.
revision: | 2.0.1 / 2009-09-16 (mcc) |
---|
Added ISDB-T test originally written by Patrick Boettcher
revision: | 2.0.0 / 2009-09-06 (mcc) |
---|
Conversion from LaTex to DocBook XML. The contents is the same as the original LaTex version.
revision: | 1.0.0 / 2003-07-24 (rjkm) |
---|
Initial revision on LaTEX.