컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

audio_stream_out 구조체 참조

audio_stream_out 구조체 참조

#include < audio.h >

데이터 필드

오디오 스트림 구조 흔한
uint32_t(* get_latency )(const struct audio_stream_out *stream)
정수(* set_volume )(구조체 audio_stream_out *스트림, 왼쪽 부동, 오른쪽 부동)
ssize_t(* 쓰기 )(오디오_스트림 _출력 구성 *스트림, 상수 무효 *버퍼, 크기_t 바이트)
정수(* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
정수(* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
정수(* set_callback )(구조체 audio_stream_out *stream, stream_callback_t 콜백, 무효 *쿠키)
정수(* 일시 중지 )( audio_stream_out 구조 *stream)
정수(* 재개 )( audio_stream_out 구조 *stream)
정수(* 배수 )(구조 audio_stream_out *스트림, audio_drain_type_t 유형)
정수(* 플러시 )(오디오_스트림 _아웃 구조 *스트림)
정수(* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

상세 설명

audio_stream_out 은 오디오 출력 하드웨어에 대한 추상화 인터페이스입니다.

오디오 출력 하드웨어 드라이버의 다양한 속성에 대한 정보를 제공합니다.

audio.h 파일의 276 번째 줄에 정의가 있습니다.

현장 문서

구조체 audio_stream 공통

오디오 스트림 출력의 일반적인 방법입니다. 이 구조의 사용자는 audio_streamaudio_stream_out 을 참조하는 것으로 알려진 컨텍스트에서 audio_streamaudio_stream_out 포인터로 캐스트하므로 이것은 audio_stream_out 의 첫 번째 구성원 이어야 합니다 .

audio.h 파일의 282 번째 줄에 정의가 있습니다.

int(* 배수)(구조 audio_stream_out *stream, audio_drain_type_t 유형)

드라이버/하드웨어에 의해 버퍼링된 데이터가 재생되었을 때 알림을 요청합니다. non-blocking 모드를 활성화하기 위해 set_callback() 이 이전에 호출된 경우, drain() 은 차단되어서는 안 됩니다. 대신 빠르게 반환되어야 하며, 드레인 완료는 콜백을 통해 알려야 합니다. set_callback() 이 호출되지 않은 경우 drain( ) 은 완료될 때까지 차단되어야 합니다. type==AUDIO_DRAIN_ALL이면 이전에 작성된 모든 데이터가 재생되었을 때 배수가 완료됩니다. type==AUDIO_DRAIN_EARLY_NOTIFY인 경우 현재 트랙의 모든 데이터가 재생되기 직전에 드레인이 완료되어 프레임워크가 갭리스 트랙 전환을 수행할 시간을 허용합니다.

stop() 및 flush() 호출 시 드레인이 즉시 반환되어야 합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 372 번째 줄에 정의가 있습니다.

int(* 플러시)( audio_stream_out 구조 *stream)

대기 중인 데이터를 플러시하도록 오디오 드라이버에 알립니다. flush() 를 호출하기 전에 스트림이 이미 일시 중지되어 있어야 합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 380 번째 줄에 정의가 있습니다.

uint32_t(* get_latency)(const struct audio_stream_out *stream)

오디오 하드웨어 드라이버의 예상 대기 시간을 밀리초 단위로 반환합니다.

파일 audio.h287 행에 있는 정의입니다.

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

오디오 드라이버에 대한 다음 쓰기가 표시될 현지 시간을 가져옵니다. 단위는 마이크로초이며 에포크는 로컬 오디오 HAL에 의해 결정됩니다.

파일 audio.h324 번째 줄에 있는 정의입니다.

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

외부 관찰자에게 제공된 오디오 프레임 수의 최근 수를 반환합니다. 작성되었지만 아직 파이프라인에 있는 프레임은 제외됩니다. 출력이 대기 상태가 되면 카운트가 0으로 재설정되지 않습니다. 또한 이 표시 횟수를 기준으로 CLOCK_MONOTONIC 값을 반환합니다. 반환된 개수는 '최근'이어야 하지만 가능한 가장 최근 값일 필요는 없습니다. 그러나 연결된 시간은 반환된 횟수와 일치해야 합니다. 예: N+M개의 프레임이 제공되었다고 가정합니다. 여기서 M은 '작은' 숫자입니다. 그런 다음 N+M 대신 N을 반환하는 것이 허용되며 타임스탬프는 N+M이 아닌 N에 해당해야 합니다. '최근'과 '작은'이라는 용어는 정의되지 않습니다. 구현 품질을 반영합니다.

3.0 이상만 해당됩니다.

audio.h 파일의 398 번째 줄에 있는 정의입니다.

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

파일 audio.h317 행에 있는 정의입니다.

int(* pause)(구조 audio_stream_out *stream)

재생을 중지하도록 오디오 드라이버에 알립니다. 그러나 대기 중인 버퍼는 하드웨어에 의해 유지됩니다. 일시 중지/재개를 구현하는 데 유용합니다. 그러나 지원되지 않는 경우 빈 구현은 중요하지 않은 대기 시간이 있는 하드웨어에 대해 구현되어야 합니다. 일시 중지 상태에서 오디오 하드웨어는 여전히 전원을 사용하고 있을 수 있습니다. 사용자는 시간 초과 후 일시 중단 호출을 고려할 수 있습니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 345 번째 줄에 정의가 있습니다.

int(* resume)( audio_stream_out 구조 *stream)

일시 중지 후 재생을 재개하도록 오디오 드라이버에 알립니다. 일치하는 일시 중지 없이 호출되면 오류를 반환합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 353 행에 정의가 있습니다.

int(* set_callback)(구조 audio_stream_out *stream, stream_callback_t 콜백, 무효 *쿠키)

논블로킹 쓰기 및 드레인 완료를 알리는 콜백 함수를 설정합니다. 이 함수를 호출하는 것은 미래의 모든 write()drain() 이 차단되지 않아야 하고 콜백을 사용하여 완료 신호를 보내야 함을 의미합니다.

audio.h 파일의 333 번째 줄에 정의가 있습니다.

int(* set_volume)(구조 audio_stream_out *스트림, 왼쪽 부동, 오른쪽 부동)

오디오 믹싱이 하드웨어에서 수행되는 상황에서 이 방법을 사용하십시오. 이 방법은 하드웨어와의 직접적인 인터페이스 역할을 하므로 프레임워크를 통해 볼륨을 직접 설정할 수 있습니다. 이 방법은 MP3 또는 AAC와 같은 여러 PCM 출력 또는 하드웨어 가속 코덱을 생성할 수 있습니다.

audio.h 파일의 296 번째 줄에 정의가 있습니다.

ssize_t(* 쓰기)(오디오 스트림 _아웃 구성 *스트림, const 무효 *버퍼, 크기_t 바이트)

드라이버에 오디오 버퍼를 씁니다. 작성된 바이트 수 또는 음수 status_t를 반환합니다. 오류가 발생하기 전에 하나 이상의 프레임이 성공적으로 기록된 경우 드라이버가 성공적인(짧은) 바이트 수를 반환한 다음 후속 호출에서 오류를 반환하는 것이 좋습니다.

비차단 모드를 활성화하기 위해 set_callback() 이 이전에 호출된 경우 write() 는 차단할 수 없습니다. 현재 드라이버/하드웨어 버퍼에 맞는 바이트 수만 쓴 다음 이 바이트 수를 반환해야 합니다. 이것이 요청된 쓰기 크기보다 작으면 드라이버/하드웨어 버퍼에서 더 많은 공간을 사용할 수 있을 때 콜백 함수를 호출해야 합니다.

audio.h 파일의 311 번째 줄에 정의가 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
  • 하드웨어/libhardware/include/hardware/ audio.h
,

audio_stream_out 구조체 참조

audio_stream_out 구조체 참조

#include < audio.h >

데이터 필드

오디오 스트림 구조 흔한
uint32_t(* get_latency )(const struct audio_stream_out *stream)
정수(* set_volume )(구조체 audio_stream_out *스트림, 왼쪽 부동, 오른쪽 부동)
ssize_t(* 쓰기 )(오디오_스트림 _출력 구성 *스트림, 상수 무효 *버퍼, 크기_t 바이트)
정수(* get_render_position )(const struct audio_stream_out *stream, uint32_t *dsp_frames)
정수(* get_next_write_timestamp )(const struct audio_stream_out *stream, int64_t *timestamp)
정수(* set_callback )(구조체 audio_stream_out *stream, stream_callback_t 콜백, 무효 *쿠키)
정수(* 일시 중지 )( audio_stream_out 구조 *stream)
정수(* 재개 )( audio_stream_out 구조 *stream)
정수(* 배수 )(구조 audio_stream_out *스트림, audio_drain_type_t 유형)
정수(* 플러시 )(오디오_스트림 _아웃 구조 *스트림)
정수(* get_presentation_position )(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

상세 설명

audio_stream_out 은 오디오 출력 하드웨어에 대한 추상화 인터페이스입니다.

오디오 출력 하드웨어 드라이버의 다양한 속성에 대한 정보를 제공합니다.

audio.h 파일의 276 번째 줄에 정의가 있습니다.

현장 문서

구조체 audio_stream 공통

오디오 스트림 출력의 일반적인 방법입니다. 이 구조의 사용자는 audio_streamaudio_stream_out 을 참조하는 것으로 알려진 컨텍스트에서 audio_streamaudio_stream_out 포인터로 캐스트하므로 이것은 audio_stream_out 의 첫 번째 구성원 이어야 합니다 .

audio.h 파일의 282 번째 줄에 정의가 있습니다.

int(* 배수)(구조 audio_stream_out *stream, audio_drain_type_t 유형)

드라이버/하드웨어에 의해 버퍼링된 데이터가 재생되었을 때 알림을 요청합니다. non-blocking 모드를 활성화하기 위해 set_callback() 이 이전에 호출된 경우, drain() 은 차단되어서는 안 됩니다. 대신 빠르게 반환되어야 하며, 드레인 완료는 콜백을 통해 알려야 합니다. set_callback() 이 호출되지 않은 경우 drain( ) 은 완료될 때까지 차단되어야 합니다. type==AUDIO_DRAIN_ALL이면 이전에 작성된 모든 데이터가 재생되었을 때 배수가 완료됩니다. type==AUDIO_DRAIN_EARLY_NOTIFY인 경우 현재 트랙의 모든 데이터가 재생되기 직전에 드레인이 완료되어 프레임워크가 갭리스 트랙 전환을 수행할 시간을 허용합니다.

stop() 및 flush() 호출 시 드레인이 즉시 반환되어야 합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 372 번째 줄에 정의가 있습니다.

int(* 플러시)( audio_stream_out 구조 *stream)

대기 중인 데이터를 플러시하도록 오디오 드라이버에 알립니다. flush() 를 호출하기 전에 스트림이 이미 일시 중지되어 있어야 합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 380 번째 줄에 정의가 있습니다.

uint32_t(* get_latency)(const struct audio_stream_out *stream)

오디오 하드웨어 드라이버의 예상 대기 시간을 밀리초 단위로 반환합니다.

파일 audio.h287 행에 있는 정의입니다.

int(* get_next_write_timestamp)(const struct audio_stream_out *stream, int64_t *timestamp)

오디오 드라이버에 대한 다음 쓰기가 표시될 현지 시간을 가져옵니다. 단위는 마이크로초이며 에포크는 로컬 오디오 HAL에 의해 결정됩니다.

파일 audio.h324 번째 줄에 있는 정의입니다.

int(* get_presentation_position)(const struct audio_stream_out *stream, uint64_t *frames, struct timespec *timestamp)

외부 관찰자에게 제공된 오디오 프레임 수의 최근 수를 반환합니다. 작성되었지만 아직 파이프라인에 있는 프레임은 제외됩니다. 출력이 대기 상태가 되면 카운트가 0으로 재설정되지 않습니다. 또한 이 표시 횟수를 기준으로 CLOCK_MONOTONIC 값을 반환합니다. 반환된 개수는 '최근'이어야 하지만 가능한 가장 최근 값일 필요는 없습니다. 그러나 연결된 시간은 반환된 횟수와 일치해야 합니다. 예: N+M개의 프레임이 제공되었다고 가정합니다. 여기서 M은 '작은' 숫자입니다. 그런 다음 N+M 대신 N을 반환하는 것이 허용되며 타임스탬프는 N+M이 아닌 N에 해당해야 합니다. '최근'과 '작은'이라는 용어는 정의되지 않습니다. 구현 품질을 반영합니다.

3.0 이상만 해당됩니다.

audio.h 파일의 398 번째 줄에 있는 정의입니다.

int(* get_render_position)(const struct audio_stream_out *stream, uint32_t *dsp_frames)

파일 audio.h317 행에 있는 정의입니다.

int(* pause)(구조 audio_stream_out *stream)

재생을 중지하도록 오디오 드라이버에 알립니다. 그러나 대기 중인 버퍼는 하드웨어에 의해 유지됩니다. 일시 중지/재개를 구현하는 데 유용합니다. 그러나 지원되지 않는 경우 빈 구현은 중요하지 않은 대기 시간이 있는 하드웨어에 대해 구현되어야 합니다. 일시 중지 상태에서 오디오 하드웨어는 여전히 전원을 사용하고 있을 수 있습니다. 사용자는 시간 초과 후 일시 중단 호출을 고려할 수 있습니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 345 번째 줄에 정의가 있습니다.

int(* resume)( audio_stream_out 구조 *stream)

일시 중지 후 재생을 재개하도록 오디오 드라이버에 알립니다. 일치하는 일시 중지 없이 호출되면 오류를 반환합니다.

이 기능의 구현은 오프로드 재생에 필수입니다.

audio.h 파일의 353 행에 정의가 있습니다.

int(* set_callback)(구조 audio_stream_out *stream, stream_callback_t 콜백, 무효 *쿠키)

논블로킹 쓰기 및 드레인 완료를 알리는 콜백 함수를 설정합니다. 이 함수를 호출하는 것은 미래의 모든 write()drain() 이 차단되지 않아야 하고 콜백을 사용하여 완료 신호를 보내야 함을 의미합니다.

audio.h 파일의 333 번째 줄에 정의가 있습니다.

int(* set_volume)(구조 audio_stream_out *스트림, 왼쪽 부동, 오른쪽 부동)

오디오 믹싱이 하드웨어에서 수행되는 상황에서 이 방법을 사용하십시오. 이 방법은 하드웨어와의 직접적인 인터페이스 역할을 하므로 프레임워크를 통해 볼륨을 직접 설정할 수 있습니다. 이 방법은 MP3 또는 AAC와 같은 여러 PCM 출력 또는 하드웨어 가속 코덱을 생성할 수 있습니다.

audio.h 파일의 296 번째 줄에 정의가 있습니다.

ssize_t(* 쓰기)(오디오 스트림 _아웃 구성 *스트림, const 무효 *버퍼, 크기_t 바이트)

드라이버에 오디오 버퍼를 씁니다. 작성된 바이트 수 또는 음수 status_t를 반환합니다. 오류가 발생하기 전에 하나 이상의 프레임이 성공적으로 기록된 경우 드라이버가 성공적인(짧은) 바이트 수를 반환한 다음 후속 호출에서 오류를 반환하는 것이 좋습니다.

비차단 모드를 활성화하기 위해 set_callback() 이 이전에 호출된 경우 write() 는 차단할 수 없습니다. 현재 드라이버/하드웨어 버퍼에 맞는 바이트 수만 쓴 다음 이 바이트 수를 반환해야 합니다. 이것이 요청된 쓰기 크기보다 작으면 드라이버/하드웨어 버퍼에서 더 많은 공간을 사용할 수 있을 때 콜백 함수를 호출해야 합니다.

audio.h 파일의 311 번째 줄에 정의가 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
  • 하드웨어/libhardware/include/hardware/ audio.h