3.1. 解複用資料型別¶
-
enum dmx_output¶
解複用器的輸出。
常量
DMX_OUT_DECODER直接流式傳輸到解碼器。
DMX_OUT_TAP輸出到記憶體緩衝區(透過讀取命令檢索)。將流輸出傳送到呼叫 ioctl 的解複用裝置上。
DMX_OUT_TS_TAP多路複用到新的 TS 中的輸出(透過從邏輯 DVR 裝置讀取來檢索)。將輸出路由到邏輯 DVR 裝置
/dev/dvb/adapter?/dvr?,該裝置提供從所有指定 DMX_OUT_TS_TAP 的過濾器多路複用的 TS。DMX_OUT_TSDEMUX_TAP類似於 DMX_OUT_TS_TAP,但從 DMX 裝置檢索。
-
enum dmx_input¶
來自解複用器的輸入。
常量
DMX_IN_FRONTEND來自前端裝置的輸入。
DMX_IN_DVR來自邏輯 DVR 裝置的輸入。
-
enum dmx_ts_pes¶
PES 過濾器的型別。
常量
DMX_PES_AUDIO0第一個音訊 PID。也稱為 DMX_PES_AUDIO。
DMX_PES_VIDEO0第一個影片 PID。也稱為 DMX_PES_VIDEO。
DMX_PES_TELETEXT0第一個圖文電視 PID。也稱為 DMX_PES_TELETEXT。
DMX_PES_SUBTITLE0第一個字幕 PID。也稱為 DMX_PES_SUBTITLE。
DMX_PES_PCR0第一個程式時鐘參考 PID。也稱為 DMX_PES_PCR。
DMX_PES_AUDIO1第二個音訊 PID。
DMX_PES_VIDEO1第二個影片 PID。
DMX_PES_TELETEXT1第二個圖文電視 PID。
DMX_PES_SUBTITLE1第二個字幕 PID。
DMX_PES_PCR1第二個程式時鐘參考 PID。
DMX_PES_AUDIO2第三個音訊 PID。
DMX_PES_VIDEO2第三個影片 PID。
DMX_PES_TELETEXT2第三個圖文電視 PID。
DMX_PES_SUBTITLE2第三個字幕 PID。
DMX_PES_PCR2第三個程式時鐘參考 PID。
DMX_PES_AUDIO3第四個音訊 PID。
DMX_PES_VIDEO3第四個影片 PID。
DMX_PES_TELETEXT3第四個圖文電視 PID。
DMX_PES_SUBTITLE3第四個字幕 PID。
DMX_PES_PCR3第四個程式時鐘參考 PID。
DMX_PES_OTHER任何其他 PID。
-
struct dmx_filter¶
指定一個節頭過濾器。
定義:
struct dmx_filter {
__u8 filter[DMX_FILTER_SIZE];
__u8 mask[DMX_FILTER_SIZE];
__u8 mode[DMX_FILTER_SIZE];
};
成員
filter在節頭中要匹配的位陣列。
mask在過濾器位陣列中有效的位。
mode匹配模式:如果位為零,則如果相等則匹配(正匹配);如果位為 1,則如果該位被否定則匹配。
注意
此結構中的所有陣列的大小均為 DMX_FILTER_SIZE(16 位元組)。
-
struct dmx_sct_filter_params¶
指定一個節過濾器。
定義:
struct dmx_sct_filter_params {
__u16 pid;
struct dmx_filter filter;
__u32 timeout;
__u32 flags;
#define DMX_CHECK_CRC 1;
#define DMX_ONESHOT 2;
#define DMX_IMMEDIATE_START 4;
};
成員
pid要過濾的 PID。
filter節頭過濾器,由
struct dmx_filter定義。timeout最大過濾時間,以毫秒為單位。
flags節過濾器的額外標誌。
描述
攜帶 MPEG-TS 節過濾器的配置。
flags 可以是
DMX_CHECK_CRC- 僅傳遞 CRC 校驗成功的節;
DMX_ONESHOT- 在傳遞一個節後停用節過濾器;
DMX_IMMEDIATE_START- 立即啟動過濾器,無需 DMX_START。
-
struct dmx_pes_filter_params¶
指定分組基本流 (PES) 過濾器引數。
定義:
struct dmx_pes_filter_params {
__u16 pid;
enum dmx_input input;
enum dmx_output output;
enum dmx_ts_pes pes_type;
__u32 flags;
};
成員
pid要過濾的 PID。
input解複用器輸入,由
enum dmx_input指定。output解複用器輸出,由
enum dmx_output指定。pes_typepes 過濾器的型別,由
enum dmx_pes_type指定。flags解複用器 PES 標誌。
-
struct dmx_stc¶
儲存系統時間計數器 (STC) 資訊。
定義:
struct dmx_stc {
unsigned int num;
unsigned int base;
__u64 stc;
};
成員
num輸入資料:STC 的數量,從 0 到 N。
base輸出:用於獲得 90 kHz 時鐘的 STC 除數。
stc輸出:以 base * 90 kHz 單位表示的 stc。
-
enum dmx_buffer_flags¶
DMX 記憶體對映緩衝區標誌
常量
DMX_BUFFER_FLAG_HAD_CRC32_DISCARD指示核心由於錯誤的 CRC32 校驗和而丟棄了一個或多個幀。
DMX_BUFFER_FLAG_TEI指示核心已在過濾的 pid 上檢測到傳輸錯誤指示符 (TEI)。
DMX_BUFFER_PKT_COUNTER_MISMATCH指示核心已在過濾的 pid 上檢測到資料包計數器不匹配。
DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED指示核心已檢測到一個或多個幀不連續。
DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR收到至少一個帶有幀不連續指示器的包。
-
struct dmx_buffer¶
dmx 緩衝區資訊
定義:
struct dmx_buffer {
__u32 index;
__u32 bytesused;
__u32 offset;
__u32 length;
__u32 flags;
__u32 count;
};
成員
index緩衝區的 ID 號
bytesused緩衝區中資料(有效負載)佔用的位元組數;
offset對於 memory == DMX_MEMORY_MMAP 的緩衝區;此平面的裝置記憶體起始位置的偏移量,(或應作為偏移量傳遞給 mmap() 的“cookie”)
length緩衝區的位元組大小
flags緩衝區標誌的位陣列,由
enum dmx_buffer_flags定義。僅在DMX_DQBUF時填充。count已填充緩衝區的單調計數器。有助於識別資料流丟失。僅在
DMX_DQBUF時填充。
描述
包含應用程式和驅動程式使用流式 I/O 方法之一交換的資料。
請注意,對於 DMX_QBUF,僅應填充 index。在 DMX_DQBUF 呼叫時,所有欄位將由核心填充。
-
struct dmx_requestbuffers¶
請求 dmx 緩衝區資訊
定義:
struct dmx_requestbuffers {
__u32 count;
__u32 size;
};
成員
count請求的緩衝區數量,
size請求的緩衝區的大小(以位元組為單位)
描述
包含用於請求 dmx 緩衝區的資料。所有保留欄位必須設定為零。
-
struct dmx_exportbuffer¶
將 dmx 緩衝區匯出為 DMABUF 檔案描述符
定義:
struct dmx_exportbuffer {
__u32 index;
__u32 flags;
__s32 fd;
};
成員
index緩衝區的 ID 號
flags新建立檔案的標誌,目前僅支援 O_CLOEXEC,有關更多詳細資訊,請參閱 open 系統呼叫的手冊
fd與 DMABUF 關聯的檔案描述符(由驅動程式設定)
描述
包含用於將 dmx 緩衝區匯出為 DMABUF 檔案描述符的資料。緩衝區由 DMX_QUERYBUF 返回的“cookie”標識(與用於將緩衝區 mmap() 到使用者空間的 cookie 相同)。所有保留欄位必須設定為零。欄位 reserved0 預計將成為一個結構“type”,允許結構內容的替代佈局。因此,此欄位不應用於任何其他擴充套件。