audio_stream_in 구조체 참조

audio_stream_in 구조체 참조

#include < audio.h >

데이터 필드

struct audio_stream   일반적인
 
int(*  set_gain )(struct audio_stream_in *stream, float gain)
 
ssize_t(*  read )(struct audio_stream_in *stream, void *buffer, size_t bytes)
 
uint32_t(*  get_input_frames_lost )(struct audio_stream_in *stream)
 
int(*  get_capture_position )(const struct audio_stream_in *stream, int64_t *frames, int64_t *time)
 

상세 설명

audio.h 파일의 404 строке에 정의되어 있습니다.

필드 문서

struct audio_stream common

오디오 스트림의 일반적인 메서드입니다. 이 구조의 사용자는 audio_stream audio_stream audio_stream_in 을 참조하는 것으로 알려진 컨텍스트에서 audio_stream_in 포인터로 전송하므로 이 구조는 audio_stream_in 의 첫 번째 구성원이어야 합니다 .

audio.h FILE의 410 라인에 정의되어 있습니다.

int(* get_capture_position)(const struct audio_stream_in *stream, int64_t *frames, int64_t *time)

수신된 최근 오디오 프레임 수와 해당 프레임 수와 연결된 시계 시간을 반환합니다.

frames는 수신된 총 프레임 수입니다. 캡처 파이프라인에서 최대한 빨리 실행해야 합니다. 일반적으로 프레임은 양수여야 하며 '뒤로' 이동해서는 안 됩니다.

time은 프레임이 측정된 시계 MONOTONIC 시간입니다. 일반적으로 시간은 양수여야 하며 '뒤로' 이동해서는 안 됩니다.

반환되는 상태는 성공 시 0이고, 기기가 준비되지 않았거나 사용할 수 없는 경우에는 -ENOSYS이고, 인수가 null이거나 유효하지 않은 경우에는 -EINVAL입니다.

audio.h 파일의 449 라인에 정의되어 있습니다.

uint32_t(* get_input_frames_lost)(struct audio_stream_in *stream)

이 함수를 마지막으로 호출한 이후 오디오 드라이버에서 손실된 입력 프레임 수를 반환합니다. 오디오 드라이버는 이 함수 호출에 의해 현재 값을 반환하면 값을 0으로 재설정하고 계산을 다시 시작해야 합니다. 이러한 손실은 일반적으로 사용자 공간 프로세스가 오디오 드라이버 버퍼의 용량보다 오래 차단될 때 발생합니다.

단위: 입력 오디오 프레임 수

audio.h 파일의 433 라인에 정의되어 있습니다.

ssize_t(* read)(struct audio_stream_in *stream, void *buffer, size_t bytes)

오디오 드라이버에서 오디오 버퍼를 읽습니다. 읽은 바이트 수 또는 음수 status_t를 반환합니다. 오류가 발생하기 전에 프레임이 하나 이상 읽혔다면 read는 해당 바이트 수를 반환한 다음 후속 호출에서 오류를 반환해야 합니다.

audio.h FILE의 420 라인에 정의되어 있습니다.

int(* set_gain)(struct audio_stream_in *stream, float gain)

오디오 드라이버의 입력 게인을 설정합니다. 이 메서드는 향후 사용하기 위한 것입니다.

audio.h 파일의 414 행에 정의되어 있습니다.


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