digraph "AudioOutput"
{
 // INTERACTIVE_SVG=YES
  bgcolor="transparent";
  edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
  node [fontname="Helvetica",fontsize="10",shape=record];
  rankdir="LR";
  Node1 [label="AudioOutput",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"];
  Node2 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" cond" ,fontname="Helvetica"];
  Node2 [label="Cond",height=0.2,width=0.4,color="black",URL="$classCond.html"];
  Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node3 [label="PosixCond",height=0.2,width=0.4,color="black",URL="$classPosixCond.html",tooltip="Low-level wrapper for a pthread_cond_t. "];
  Node4 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" mixer" ,fontname="Helvetica"];
  Node4 [label="Mixer",height=0.2,width=0.4,color="black",URL="$classMixer.html"];
  Node5 -> Node4 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" listener" ,fontname="Helvetica"];
  Node5 [label="MixerListener",height=0.2,width=0.4,color="black",URL="$classMixerListener.html",tooltip="An interface that listens on events from mixer plugins. "];
  Node6 -> Node4 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" mutex" ,fontname="Helvetica"];
  Node6 [label="Mutex",height=0.2,width=0.4,color="black",URL="$classMutex.html"];
  Node7 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
  Node7 [label="PosixMutex",height=0.2,width=0.4,color="black",URL="$classPosixMutex.html",tooltip="Low-level wrapper for a pthread_mutex_t. "];
  Node8 -> Node4 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" plugin" ,fontname="Helvetica"];
  Node8 [label="MixerPlugin",height=0.2,width=0.4,color="black",URL="$structMixerPlugin.html"];
  Node4 -> Node8 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" init" ,fontname="Helvetica"];
  Node9 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" fail_timer" ,fontname="Helvetica"];
  Node9 [label="PeriodClock",height=0.2,width=0.4,color="black",URL="$classPeriodClock.html",tooltip="This is a stopwatch which saves the timestamp of an event, and can check whether a specified time spa..."];
  Node10 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" prepared_filter\nprepared_replay_gain\l_filter\nprepared_other_replay\l_gain_filter" ,fontname="Helvetica"];
  Node10 [label="PreparedFilter",height=0.2,width=0.4,color="black",URL="$classPreparedFilter.html"];
  Node11 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" out_audio_format\nfilter_audio_format\nconfig_audio_format" ,fontname="Helvetica"];
  Node11 [label="AudioFormat",height=0.2,width=0.4,color="black",URL="$structAudioFormat.html",tooltip="This structure describes the format of a raw PCM stream. "];
  Node6 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" mutex" ,fontname="Helvetica"];
  Node12 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" request" ,fontname="Helvetica"];
  Node12 [label="AudioOutput::Request",height=0.2,width=0.4,color="black",URL="$structAudioOutput_1_1Request.html",tooltip="Additional data for command. "];
  Node11 -> Node12 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" audio_format" ,fontname="Helvetica"];
  Node13 -> Node12 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" pipe" ,fontname="Helvetica"];
  Node13 [label="MusicPipe",height=0.2,width=0.4,color="black",URL="$classMusicPipe.html",tooltip="A queue of MusicChunk objects. "];
  Node14 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" thread" ,fontname="Helvetica"];
  Node14 [label="Thread",height=0.2,width=0.4,color="black",URL="$classThread.html"];
  Node15 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" client" ,fontname="Helvetica"];
  Node15 [label="AudioOutputClient",height=0.2,width=0.4,color="black",URL="$classAudioOutputClient.html",tooltip="An interface between the AudioOutput and the #Player. "];
  Node16 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" source" ,fontname="Helvetica"];
  Node16 [label="AudioOutputSource",height=0.2,width=0.4,color="black",URL="$classAudioOutputSource.html",tooltip="Source of audio data to be played by an AudioOutput. "];
  Node17 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" volume_filter\nconvert_filter" ,fontname="Helvetica"];
  Node17 [label="FilterObserver",height=0.2,width=0.4,color="black",URL="$classFilterObserver.html",tooltip="A helper class which observes calls to a PreparedFilter and allows the caller to access the Filter in..."];
  Node18 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" plugin" ,fontname="Helvetica"];
  Node18 [label="AudioOutputPlugin",height=0.2,width=0.4,color="black",URL="$structAudioOutputPlugin.html",tooltip="A plugin which controls an audio output device. "];
  Node1 -> Node18 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" init" ,fontname="Helvetica"];
  Node8 -> Node18 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" mixer_plugin" ,fontname="Helvetica"];
}
