討論區快速選單
知識庫快速選單
討論區最近新進100則主題 網路投保旅行平安險 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
win7 Audio dirver 需要實作能支援 Dolby True HD
更改我的閱讀文章字型大小
作者 : jimiyeh(看見極限的小小RD)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/20 下午 03:06:02
請教一下各位前輩
我目前需要實作一個能支援 Dolby TrueHD 及 DTS-HD的win7 HDMI audio driver

目前的情況是 driver 可以輸出 AC3 DTS等格式
但是Dolby TrueHD及 DTS-HD不能輸出

以我自己的認知
按照正常 audio driver決定輸出格式
會先 call DataIntersection 決定輸出的格式
NTSTATUS DataRangeIntersection(
  [in] ULONG PinId,
  [in] PKSDATARANGE DataRange,
  [in] PKSDATARANGE MatchingDataRange,
  [in] ULONG OutputBufferLength,
  [out, optional] PVOID ResultantFormat,
  [out] PULONG ResultantFormatLength
);

然後再 call NewStream去建立一個stream object
NTSTATUS NewStream(
  [out] PMINIPORTWAVERTSTREAM *Stream,
  [in] PPORTWAVERTSTREAM PortStream,
  [in] ULONG Pin,
  [in] BOOLEAN Capture,
  [in] PKSDATAFORMAT DataFormat
);

這邊有個問題 我在DataIntersection 裡指定了輸出格式為 Dolby TrueHD
(有檢查過 DataRange 及 MatchingDataRange 都支援)
但是port driver呼叫我的 NewStream時 給的格式卻是 AC3
而且channels, sample rate, sample size 都跟我給的不一樣
這邊是我覺得奇怪的地方

另外我懷疑另一個可能性
Protected User mode audio
有文件提到這是 Microsoft 在 VISTA之後加入的
為了保護一些有價值的 audio

以下又是我的理解
這個機制會去檢查audio driver是否安全 來決定是否允許播放一些受保護的audio
(這邊安全的定義是有過 logo 拿到cat檔 ?)
那如果我正在開發driver 是不適就不可能播 Dolby TrueHD 跟 DTS-HD了?

麻煩請大家給我一點方向 感謝
作者 : tdtsai(新兵衛) 驅動程式優秀好手貼文超過200則
[ 貼文 362 | 人氣 779 | 評價 1290 | 評價/貼文 3.56 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人jimiyeh註記此篇回應為最佳解答 2013/1/30 下午 05:15:10
In my understand you need co-work with player vendor. If you don't co-work with player vendor, it is impassable to get Dolby TrueHD and DTS-HD content.

>請教一下各位前輩
>我目前需要實作一個能支援 Dolby TrueHD 及 DTS-HD的win7 HDMI audio driver
>
>目前的情況是 driver 可以輸出 AC3 DTS等格式
>但是Dolby TrueHD及 DTS-HD不能輸出
>
>以我自己的認知
>按照正常 audio driver決定輸出格式
>會先 call DataIntersection 決定輸出的格式
>NTSTATUS DataRangeIntersection(
> [in] ULONG PinId,
> [in] PKSDATARANGE DataRange,
> [in] PKSDATARANGE MatchingDataRange,
> [in] ULONG OutputBufferLength,
> [out, optional] PVOID ResultantFormat,
> [out] PULONG ResultantFormatLength
>);
>
>然後再 call NewStream去建立一個stream object
>NTSTATUS NewStream(
> [out] PMINIPORTWAVERTSTREAM *Stream,
> [in] PPORTWAVERTSTREAM PortStream,
> [in] ULONG Pin,
> [in] BOOLEAN Capture,
> [in] PKSDATAFORMAT DataFormat
>);
>
>這邊有個問題 我在DataIntersection 裡指定了輸出格式為 Dolby TrueHD
>(有檢查過 DataRange 及 MatchingDataRange 都支援)
>但是port driver呼叫我的 NewStream時 給的格式卻是 AC3
>而且channels, sample rate, sample size 都跟我給的不一樣
>這邊是我覺得奇怪的地方
>
>另外我懷疑另一個可能性
>Protected User mode audio
>有文件提到這是 Microsoft 在 VISTA之後加入的
>為了保護一些有價值的 audio
>
>以下又是我的理解
>這個機制會去檢查audio driver是否安全 來決定是否允許播放一些受保護的audio
>(這邊安全的定義是有過 logo 拿到cat檔 ?)
>那如果我正在開發driver 是不適就不可能播 Dolby TrueHD 跟 DTS-HD了?
>
>麻煩請大家給我一點方向 感謝
作者 : jimiyeh(看見極限的小小RD)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/2/4 上午 11:47:51
感謝新兵衛的回答
的確是這樣沒錯
我們剛剛拿到 PowerDvd的測試版
需要將我們的Vendor ID及Device Id加入他們認可的列表
player才會選擇使用high qualit audio
再次感謝新兵衛大大
作者 : jimiyeh(看見極限的小小RD)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/2/4 上午 11:48:16
感謝新兵衛的回答
的確是這樣沒錯
我們剛剛拿到 PowerDvd的測試版
需要將我們的Vendor ID及Device Id加入他們認可的列表
player才會選擇使用high qualit audio
再次感謝新兵衛大大
作者 : venny(北極熊) 貼文超過500則人氣指數超過10000點
[ 貼文 602 | 人氣 29600 | 評價 790 | 評價/貼文 1.31 | 送出評價 64 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/3/15 下午 02:35:48
DataIntersection 本來就會來問你各種支援的格式
你就等他問到你目前想支援的那種 再動作就好

*我不太喜歡DataIntersection 這個動作...
 板主 : 徵求中
 > 驅動程式 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 驅動程式 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
驅動程式
1 新兵衛 1240 
2 eBoy 980 
3 牧童哥 780 
4 北極熊 580 
5 天行者 580 
6 燒酒仙 440 
7 weber 380 
8 KEN 350 
9 jonay 180 
10 掌握文武半邊天 180 
驅動程式
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875