class BaseRenderer
Defined at line 40 of file ../../src/media/audio/audio_core/base_renderer.h
Protected Members
duration min_lead_time_
Public Methods
void OnRenderRange (int64_t presentation_time, uint32_t duration)
Defined at line 46 of file ../../src/media/audio/audio_core/base_renderer.h
void ~BaseRenderer ()
Defined at line 59 of file ../../src/media/audio/audio_core/base_renderer.cc
void PlayNoReply (int64_t ref_time, int64_t med_time)
Defined at line 62 of file ../../src/media/audio/audio_core/base_renderer.h
void PauseNoReply ()
Defined at line 64 of file ../../src/media/audio/audio_core/base_renderer.h
void handle_unknown_method (uint64_t ordinal, bool method_has_response)
Defined at line 65 of file ../../src/media/audio/audio_core/base_renderer.h
std::shared_ptr<Clock> reference_clock ()
Defined at line 70 of file ../../src/media/audio/audio_core/base_renderer.h
void AddPayloadBuffer (uint32_t id, zx::vmo payload_buffer)
|fuchsia::media::AudioRenderer|
Defined at line 218 of file ../../src/media/audio/audio_core/base_renderer.cc
void RemovePayloadBuffer (uint32_t id)
Defined at line 299 of file ../../src/media/audio/audio_core/base_renderer.cc
void SetPtsUnits (uint32_t tick_per_second_numerator, uint32_t tick_per_second_denominator)
Defined at line 322 of file ../../src/media/audio/audio_core/base_renderer.cc
void SetPtsContinuityThreshold (float threshold_seconds)
Defined at line 370 of file ../../src/media/audio/audio_core/base_renderer.cc
void GetReferenceClock (GetReferenceClockCallback callback)
Regardless of the source of the reference clock, we can duplicate and return it here.
Defined at line 1088 of file ../../src/media/audio/audio_core/base_renderer.cc
void SendPacket (fuchsia::media::StreamPacket packet, SendPacketCallback callback)
Defined at line 425 of file ../../src/media/audio/audio_core/base_renderer.cc
void SendPacketNoReply (fuchsia::media::StreamPacket packet)
Defined at line 763 of file ../../src/media/audio/audio_core/base_renderer.cc
void EndOfStream ()
Defined at line 768 of file ../../src/media/audio/audio_core/base_renderer.cc
void DiscardAllPackets (DiscardAllPacketsCallback callback)
Defined at line 775 of file ../../src/media/audio/audio_core/base_renderer.cc
void DiscardAllPacketsNoReply ()
Defined at line 799 of file ../../src/media/audio/audio_core/base_renderer.cc
void EnableMinLeadTimeEvents (bool enabled)
Defined at line 1030 of file ../../src/media/audio/audio_core/base_renderer.cc
void GetMinLeadTime (GetMinLeadTimeCallback callback)
Defined at line 1043 of file ../../src/media/audio/audio_core/base_renderer.cc
void Play (int64_t reference_time, int64_t media_time, PlayCallback callback)
Defined at line 804 of file ../../src/media/audio/audio_core/base_renderer.cc
void Pause (PauseCallback callback)
Defined at line 947 of file ../../src/media/audio/audio_core/base_renderer.cc
Protected Methods
void BaseRenderer (fidl::InterfaceRequest<fuchsia::media::AudioRenderer> audio_renderer_request, Context * context)
Defined at line 31 of file ../../src/media/audio/audio_core/base_renderer.cc
Context & context ()
Defined at line 76 of file ../../src/media/audio/audio_core/base_renderer.h
void OnLinkAdded ()
|media::audio::AudioObject|
Defined at line 1028 of file ../../src/media/audio/audio_core/base_renderer.cc
fpromise::result<std::shared_ptr<ReadableStream>, zx_status_t> InitializeDestLink (const AudioObject & dest)
Because a PacketQueue might need to outlive its Renderer, and because (in the future) there could
be multiple destinations for a single renderer, we duplicate the underlying zx::clock here and
send a new AudioClock object to each PacketQueue. If the client uses our clock (which is
adjustable), then one PacketQueue will receive an AudioClock marked adjustable. All other
PacketQueues receive AudioClocks that are non-adjustable.
Defined at line 75 of file ../../src/media/audio/audio_core/base_renderer.cc
void CleanupDestLink (const AudioObject & dest)
Defined at line 94 of file ../../src/media/audio/audio_core/base_renderer.cc
bool IsPlaying ()
Defined at line 104 of file ../../src/media/audio/audio_core/base_renderer.h
void InvalidateConfiguration ()
Defined at line 106 of file ../../src/media/audio/audio_core/base_renderer.h
fidl::Binding<fuchsia::media::AudioRenderer> & binding ()
Defined at line 111 of file ../../src/media/audio/audio_core/base_renderer.h
Reporter::Renderer & reporter ()
Defined at line 118 of file ../../src/media/audio/audio_core/base_renderer.h
std::unordered_map<uint32_t, fbl::RefPtr<RefCountedVmoMapper>> payload_buffers ()
Only needed by AudioRenderer if glitch-/dropout-detection is enabled.
Defined at line 121 of file ../../src/media/audio/audio_core/base_renderer.h
int64_t frames_received ()
Defined at line 124 of file ../../src/media/audio/audio_core/base_renderer.h
void ReportStartIfStopped ()
Defined at line 1006 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportStopIfStarted ()
Defined at line 1012 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportStart ()
Extensible by children, but the parent must also be called
Defined at line 1018 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportStop ()
Defined at line 1023 of file ../../src/media/audio/audio_core/base_renderer.cc
void AddPayloadBufferInternal (uint32_t id, zx::vmo payload_buffer)
Can be overridden by subclasses that need to wrap these methods.
Defined at line 222 of file ../../src/media/audio/audio_core/base_renderer.cc
void RemovePayloadBufferInternal (uint32_t id)
Defined at line 301 of file ../../src/media/audio/audio_core/base_renderer.cc
void SendPacketInternal (fuchsia::media::StreamPacket packet, SendPacketCallback callback)
Defined at line 429 of file ../../src/media/audio/audio_core/base_renderer.cc
void DiscardAllPacketsInternal (DiscardAllPacketsCallback callback)
Defined at line 779 of file ../../src/media/audio/audio_core/base_renderer.cc
void EnableMinLeadTimeEventsInternal (bool enabled)
Defined at line 1034 of file ../../src/media/audio/audio_core/base_renderer.cc
void GetMinLeadTimeInternal (GetMinLeadTimeCallback callback)
Defined at line 1047 of file ../../src/media/audio/audio_core/base_renderer.cc
void PlayInternal (zx::time reference_time, zx::time media_time, PlayCallback callback)
Defined at line 808 of file ../../src/media/audio/audio_core/base_renderer.cc
void PauseInternal (PauseCallback callback)
Defined at line 974 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportNewMinLeadTime ()
Hook called when the minimum clock lead time requirement changes.
Defined at line 1053 of file ../../src/media/audio/audio_core/base_renderer.cc
bool IsOperating ()
IsOperating is true any time we have any packets in flight. Configuration functions cannot be
called any time we are operational.
Defined at line 141 of file ../../src/media/audio/audio_core/base_renderer.cc
zx_status_t SetAdjustableReferenceClock ()
Use our adjustable clock as the default. This starts as an adjustable clone of MONOTONIC, but
will track the clock of the device where the renderer is routed.
Defined at line 1068 of file ../../src/media/audio/audio_core/base_renderer.cc
zx_status_t SetCustomReferenceClock (zx::clock ref_clock)
Ensure that the clock has appropriate rights.
Defined at line 1076 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportContinuityUnderflow (Fixed implied_pts, Fixed first_safe_pts, zx::time first_safe_ref)
This NO_TIMESTAMP packet is too late to safely play continuously; expect a dropout.
For description of "Render Continuity Underflows", see logging_flags.h.
Defined at line 686 of file ../../src/media/audio/audio_core/base_renderer.cc
void ReportTimestampUnderflow (Fixed packet_pts, Fixed prev_packet_end_pts)
This timestamped packet is too late to play without payload truncation; expect a dropout.
For description of "Render Timestamp Underflows", see logging_flags.h.
Defined at line 727 of file ../../src/media/audio/audio_core/base_renderer.cc