原创 Android音頻驅動-ASOC之PCM Write

調用write函數實現把數據寫到設備裏面去,這裏會觸發trigger函數也就是DMA的啓動。 用戶層的write到內核裏面都是通過ioctl來做的,這裏面會觸發trigger函數的執行,等trigger執行完以後, 纔會真正調

原创 Android音頻驅動-ASOC之常用對象

struct snd_soc_dai { const char *name; int id; struct device *dev; void *ac97_pdata; /* platform_

原创 Android音頻驅動-ASOC之CPU DAI

dai驅動通常對應cpu的一個或幾個I2S/PCM接口,與snd_soc_platform一樣,dai驅動也是實現爲一個platform driver, 實現一個dai驅動大致可以分爲以下幾個步驟: 定義一個snd_soc_da

原创 Android音頻驅動-ASOC之PCM Open

status_t AudioALSAPlaybackHandlerBase::openPcmDriver(const unsigned int device) { mPcm = pcm_open(AudioALSADevi

原创 Android音頻驅動-ASOC之Platform

ASoC被分爲Machine,Platform和Codec三大部件,Platform驅動的主要作用是完成音頻數據的管理, 最終通過CPU的數字音頻接口(DAI)把音頻數據傳送給Codec進行處理,最終由Codec輸出驅動耳機或者

原创 Android音頻驅動-ASOC之Sound Card創建

static const struct file_operations snd_fops = { .owner = THIS_MODULE, .open = snd_open, .llseek

原创 Android P之Camera HAL3流程分析(0)

目錄 參考文獻 註冊CameraProvider服務 註冊cameraserver服務 類和服務調用 參考文獻 [Android O] Camera 服務啓動流程簡析[Android O] HAL3 之 Open Camera2 流程(零

原创 音頻策略配置文件分析

<globalConfiguration speaker_drc_enabled="true"/> <modules> <!-- Primary Audio HAL --> <module

原创 148. Sort List(鏈表歸併排序)

Sort a linked list in O(n log n) time using constant space complexity. class Solution { public: ListNode *sortL

原创 Android音頻驅動-ASOC之Codec

對於回放來說,userspace 送過來的音頻數據是經過採樣量化的數字信號,在 codec 經過 DAC 轉換成模擬信號然後輸出到外放或耳機, 這樣我們就可以聽到聲音了。Codec 字面意思是編解碼器,但芯片裏面的功能部件很多,

原创 Android音頻驅動-ASOC之Sound Card註冊

soc-core.c soc_probe platform_get_drvdata(pdev)//獲取聲卡 snd_soc_register_card snd_soc_instantiate_car

原创 Android音頻驅動-ASOC之Machine

/* SoC card */ struct snd_soc_card { const char *name; const char *long_name; const char *driver_name;

原创 Android音頻驅動-ASOC之PCM Device創建

前面已經創建了control設備,現在soc_probe_link_dais調用soc_new_pcm創建pcm設備。 1)設置pcm native中要使用的pcm操作函數,這些函數用於操作音頻物理設備,包括machine、co

原创 音效框架

alps/frameworks/base/media/java/android/media/audiofx/LoudnessEnhancer.java public LoudnessEnhancer(int audioSession)

原创 CTS失敗項

UNIQUE android.media.cts.MediaPlayer2DrmTest#testCAR_CLEARKEY_AUDIO_DOWNLOADED_V3_ASYNC_DRMPREPARED     UNIQUE a