!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !!!!!!!!!!!!!!!!!!!!!!!"########################## # # # # $$$$$%&None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afLike 2 but with the **simple** lens-like type parameters Types that contain zero or more 8 instance with the traditional lens-like type parameters Types that contain zero or more  instance. Types that contain zero or more  instance./The contained input media type, since the name   was taken , this is named  where the E< is supposed to hint at the fact that this class is called .A  for the media within sLike  2 but with the **simple** lens-like type parametersTypes that contain an 8 instance with the traditional lens-like type parameters Types that contain an  instance. Types that contain an  instance. A  for the media within s0A proxy type to display static media info via a  instancekVery abstract class of media content types. The only universal feature is that it has a static description. A simple  for the media within s A simple  for the media within s      None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af A simple  for the channels in samplesA constraint type alias for  with a simple traversalA constraint type alias for ) similar to the parameters of type class  from the lens package.2Types, e.g samples, that have one or more channels The channel layout contained in s The channel layout contained in tTypes that have some   The channel layout contained in s<The type resulting from changing the channel layout type in s to b9A Proxy specifically to prevent orphan instances of e.g. Proxy channelLayoyt. Like KnownNat but for promoted s.! Return the  for type c" A simple  for the channels in samples#6Create a textual representation of the channel layout. !"# !" !"  !"#None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af$Annotate the type of a $ where input and output are the same%Annotate the input type of a &Annotate the output type of a 'Annotate the output type of a (Annotate the input type of a $%&'($%&'($%&'($%&'(None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af)Receive and trace the n value prefixed by a message and then yield down the stream. Since the number of elements sent over a conduit can be tremendous, a tracing probability parameter was added, that can be between 0.0 - 1.0N, and sets the probability of with which a message will be traced. This uses * internally. Do not use this for logging.*Like ) but implemented as a N that also returns all received inputs as a list when the conduit terminates.+For profiling and debugging it can sometimes be useful, to have a circuit breaker, like this conduit, that exists after an given number of items have been processed, and, until then just yields all inputs.)*+)*++)*)*+None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af,%Prefix all log messages of the given  with a Text. This is similar to &'.,,,,None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af-?Calculate the number of elements that would fit into the given  if it were 9ed to a vector of elements defined by the first argument.----None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af.Type class with a : for types that may or may not contain anctual source id.1A  for the 822Type class for a lens over the contained source id5A lens for the 86A short alias for 8 with a  value7A short alias for 8 with a  value8]Things that can be uniquely identified by a looking at a (much simpler) representation, the identity.:An   for the value of a 8./0123456789!:;< ./0123456789: 89:762345./01./0123456789!:;<None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af B"A value of a series is either the D of that series or the C value in a started series.G)A type class for types that might have a next value.JA " for the next valuesK)A type class for types that might have a start value.NA " for start valuesOA class of types with any kind start and next) semantics, not necessarily provided by B.P A simple Prim to extract a start valueQ A simple Prim to extract a next valueR(A simple version of a series, where the D! value has the same type as the C value.BCD#$GHIJKLMNOPQRSTUVWXYZ[\]^_`BDCGIHJKMLNOPQRSTBCDSTROPQKLMNGHIJBCD#$GHIJKLMNOPQRSTUVWXYZ[\]^_` None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afaA wrapper around a payload+ value paired with a value to be used when  comparing that payload value.%Value to compare& actual valueab%&cdababab%&cd None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afepClass of numbers that are monotone increasing having only a relative order, that is not necessarily transitive.For example, a series of ' values: 0 64 128 192 0 64 128 ...} could be interpreted as a monotone series of consecutive increasing values, that wrap around after 255. But note that the (- instance is not sufficient to express that 0 f 192, since (. ensures complete transitivity and therefore 0 < 192. efghijklmnoefef efghijklmno None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afp8A class for types providing a lens to a sequence number.s,A lens for the sequence number contained in ttA  based sequence number.uA  based sequence number.vA ) based sequence number.wA ' based sequence number.xGThe newtype wrapper that indicates that something is a sequence number.zAn   between a x and its' value.pqrstuvwxy*z{|}~ pqrstuvwxyz xyzwvutpqrs pqrstuvwxy*z{|}~ None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af42Types that have a duration known at compoile time.Types that contain a  Timestamp+Types with a duration (e.g. audio samples). Analog to + this (kind-)class is for  with a runtime  value.%Return the ticks value of a promoted . Return the  value of a promoted .Convenient wrapper around  MkStaticTicks and MkRate to create a promoted ..Time unit for durations known at compile time. Alias for  based on a 2 tick count with a rate of 48000 ticks per second. Alias for  based on a 2 tick count with a rate of 16000 ticks per second. Alias for  based on a 1 tick count with a rate of 8000 ticks per second. Alias for  based on a 2 tick count with a rate of 48000 ticks per second. Alias for  based on a 2 tick count with a rate of 16000 ticks per second. Alias for  based on a 1 tick count with a rate of 8000 ticks per second. Alias for  based on a  tick count. Alias for  based on a  tick count.The highest resolution 5 possible, such that it can still be converted to ,/The constraint on the type parameters of 'TicksCAn integral time unit such that (time_in_seconds = _ticks * 1/rate)Types which contain a rate, but are agnostic of it. The counter example would be if the rate was a type index of a data family.6Change the static sample rate, without e.g. resamplingTypes with a known %, e.g. audio media has a sample rate.'Set the static sample rate of the media#The static sample rate of the media'The maximum representable frequency is  10e12 1/s+ which corresponds to the resolution of ,, i.e. 1 pico second. Return the M representing the shortest representable duration of something sampled at a A proxy type for 6s useful to prevent orphan instances, is seen in the  instance for #. If the instance were defined as 1instance KnownRate r => Show (proxy r) where ... ! it would be an orphan instance. Analogous to + this (kind-)class is for  with a runtime  value.+Return the compile time rate value in Hertz&Return the runtime rate value in HertzA more beautiful operator for 8The known at ompile time, time unit in units per second. Return the  as an -! from a proxy for an instance of  Return a . for the ! from a proxy for an instance of QReturn the reciprocal of the sample rate, i.e. the duration that one sample spansUtility around # to set the sample rate to 8000 Hz.Utility around $ to set the sample rate to 16000 Hz.Utility around $ to set the sample rate to 48000 Hz.Utility around  to double the sample rate. Create a  from a + given via a proxy and the number of ticks. Create a  from a + given via a proxy and the number of ticks. Create a  from a tick count.+Create a 'Ticks32At16000 from a tick count.+Create a 'Ticks32At48000 from a tick count.*Create a 'Ticks64At8000 from a tick count.+Create a 'Ticks64At16000 from a tick count.+Create a 'Ticks64At48000 from a tick count. Transform a Tick value to another Tick value.A function (an  ') that converts back-and-forth between Ticks and ,s Create a . for the  type associated with s), this is basically the analogon to the @ method - just for types with a duration known at compile time. Convert the StaticDuration- that some type has to the number of seconds. Convert the StaticDuration that some type has to any .M/CC9/ None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afPFamily of audio media types, indexed by a sampleRate, a channel layout and a codeci parameter. This type family is intended as a basis for all audio media, raw as well as encoded audio.None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af A lens-stype type alias for  for cases where  ~ A lens-stype type alias for  for cases where  ~  with the full s a parameter set.A lens-stype type alias for  with the full s t a b parameter set.\A type class for types that contain samples which can be converted into other sample types.;The type of the contained media samples passed as input by .;The type of the contained media samples from the output of .Always recurring contraints on Sample types.Types that are  instances with sampled content. A variant of  for cases where  ~ . None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af,A buffer for media data. The type parameter t# is supposed to be an instance of IsMedia.Like 6 but with the typical **simple** lens type parameters s aLike + but with the typical lens type parameters s t a bLike  but with s ~ t and #MediaBufferFrom s ~ MediaBufferTo tTypes containing a #The media buffer type contained in s=The type that results from changing the media buffer type in s to b&A lens for converting the media bufferLike  but with s ~ t and #MediaBufferFrom s ~ MediaBufferTo t to Vector isomorphismReturn the number of  BufferElement s in the  buffer.;Convert the media buffer vector contents to a list in O(n). Create a  from a list in O(n).An efficient conversion of a  ByteString to a An efficient conversion of a  to a  ByteString Create a new  using an 0 action that returns a mutable MVector.Modify the underlying Vector of some @ with a function that is applied to the mutable vector of that !. The function must result in a 0$ action that does the modifications.Modify the underlying Vector of some @ with a function that is applied to the mutable vector of that !. The function must result in a 0$ action that does the modifications./Unsafe because results can be returned, so the thawn mutable vector might escape.Traversal instance11None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af Content that can be  . 0A place holder for frame content that is missing Available content                None/!"#%&*+,./02345689:;<=?@DILOQRT[\_afSClass of types that support splitting values into parts with a certain duration.Try to split the packet into the a part which has the given duration and a rest. If it is not possible to split of the desired duration, e.g. because the input data is too short, return 2.=A segment is some content with a fixed (type level) duration.An   for the  newtype.3 !"#$% 3 !"#$%None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af+Types that have a dynamic duration, for example a audio sample buffers, can implement this type class to provide methods for generating blank media content (e.g. silence) for a certain duration.,_Generate the value that represents neutral media content, and has at least the given duration.-hGenerate the value that represents neutral media content, and has at least the given duration given as .Types that can have blank values./9Generate the value that represents neutral media content.+,-./0+,-./+,-./+,-./0None/!"#%&*+,./02345689:;<=?@DILOQRT[\_af1,Types of per channel PCM audio sample value.2(Calculate the average of two pcm samples3BA family of multi-channel audio samples, this will be stored in a  if audio is represented by Audio r (Pcm c t)4JAn indicator for uncompressed audio with a given per sample encoding type.5An isomorphism for  and 4All 3 audio is audio. An  instance with 3s in a .12345656789:;<=>?@A41234543512123456789:;<=>?@A456None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afB4The channel layout indicator type for **mono** audioB78CD9EBBBCD978ENone.!"#%&*+,./02345689:;<=?@DILOQRT[\_afRFA value representing a signed PCM audio sample with a width of 16 bit.TAn   from/to the sample value of an RRS:TUVWRSTRSTRS:TUVWNone.!"#%&*+,./02345689:;<=?@DILOQRT[\_af`gA PCM audio sample represented by a single byte, that can be converted to a signed 13bit audio sample.aAn   for ` sample values.bAn   between ` and R using d and c.c>Uncompress an alaw sample into a linear 16 signed value, see d for more information.dSee Qhttp://opensource.apple.com//source/tcl/tcl-20/tcl_ext/snack/snack/generic/g711.c G Linear Input Code Compressed Code ----------------- --------------- 0000000wxyza 000wxyz 0000001wxyza 001wxyz 000001wxyzab 010wxyz 00001wxyzabc 011wxyz 0001wxyzabcd 100wxyz 001wxyzabcde 101wxyz 01wxyzabcdef 110wxyz 1wxyzabcdefg 111wxyzrFor further information see John C. Bellamy's Digital Telephony, 1982, John Wiley & Sons, pps 98-111 and 472-476. `;<abcdef`abcd`dcba`;<abcdefNone.!"#%&*+,./02345689:;<=?@DILOQRT[\_afp6The channel layout indicator type for **stereo** audiop=>?qrstuvwx@ypp pqrstuvwx@=>?yNone.!"#%&*+,./02345689:;<=?@DILOQRT[\_af}&Meta information about a media stream.A?An identifier for the stream, e.g. a track name or an RTP SSRCB9The start time stamp of a stream all time stamps in the s are relative to this.CCThe start sequence number of a stream all sequence numbers in the s are relative to this.DfAn extra field for media type specific extra information, like the init segment of an ISOBMFF media.A  can be anything that has a start time and is exactly one time unit long, it can respresent anything ranging from an audio buffer with 20ms of audio to a single pulse coded audio sample, of course it could also be a video frame or a chat message.EXThe timestamp at which the representation of the media content in this frame **begins**FCThe sequence number of that frame, useful to detect missing framesGThe actual (media) content.Class for types that have a  for DA traversal for the }$ initial content, skipping over any This is the type alias that 2 is a newtype wrapper of, see the description of .#A type for values that belong to a B of s started by a }. This combines the sum type B which has either D or C with } and .Class for types that have a  for G)A traversal for the frame content of all s, skipping over any }8}~ABCDEFGH}~}~'}~ABCDEFGHNone.!"#%&*+,./02345689:;<=?@DILOQRT[\_af Reorder the s in  of a  according to the (* instance of the the sequence numbers of s. This function will buffer e certain number of frames that are out of order, and drops frames if they are too late. Also, when too many consecutive frames have all been dropped, a new DO will be created, and the buffered elements are silently dropped, too. When a DT is received that internal buffer is flushed and all queued frames are transmitted.Like 3 but more general. This function allows to pass a  to the specific field of each >, that shall be used for comparison, which governs the order. IJKLMNOPQR4The maximun number of out-of-order frames to buffer.-A lens for the value to be used as comparisonKA function that returns the **expected next value** of the comparison value&The maximum number of frames to bufferIJKLMNOPQRNone.!"#%&*+,./02345689:;<=?@DILOQRT[\_afYield a  from Strict version of Yield the next  of a Strict version of Yield the starting } of a Strict version of  Create a  conduit from a  conduit.A conduit that receives s and yields all Frames3A conduit that applies the given function to every  of a .Strict version of IA conduit that applies the given function to every sequence number of a , in  s as well as }s.DA conduit that applies the given function to every time stamp of a , in  s as well as }s.A strict version of .2A conduit that applies the given pure function to  of a .5A conduit that applies the given monadic function to  of a .A strict variant of Like ()? this uses the given function to extract a monoidal value and S?s all results into a single value, which is returned when the  terminates.Monadic variant of sUnder the constraint that the stream content is a monoid, fold over the stream appending all frame contents, i.e.  of <. When the conduit finishes the monoidal value is returned.None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af Convert from ` to R Convert from R to `None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afA + that launches a shell command that starts sox) such that it reads raw audio data from STDIN) and plays it via the systems sound card.None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af Resample RawAudio IsMediak from an 8kHz sample rate to 16 kHz, using a simple (and fast) linear interpolation between each sample.None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afReplace  ( parts with the given concealment value.None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af0The packetizer recombines incoming packets into cs of the given size. The sequence numbers will be offsetted by the number extra frames generated. None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afTOverwrite the timestamp of a stream of things that have a time stamp field (i.e. g instances) and also a duration, such that the timestamps increment by the duration starting from 0. Recalculate all timestamps in a !None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afThe exception type for encodeLinearToAacCThe  T transformerReframer state.Specifies in what way  failedThe input frame ends before U.The input frame starts before, and ends after UThe input frame begins after UCreate an empty initial state. Run state  state transformer.UReset the current timing and sequence number, and start with the given start time.Increase the available duration by the duration in the frame, iff the timestamp of the given frame matches exactly the timestamp after the end of the available period, otherwise do nothing with the state and return V.0Return the duration of the frames recorded with .0Return the timestamp of the frame being build. .Try to create a frame with the given duration, and update the state accordingly, the actual duration, that was available is put into the payload field of the frame returned. The start time stamp of the next frame is always incremented by the wantedDureation* regardless of wether it was available.Utility function to generate a  with the current state.WXYZ[\UWXYZ[\U"None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afePrefix every log message done from inside the given monad action with the given prefix. This runs a ] action inside a ^Q base monad with a log function that wraps around the log function returned by _1 and prefixes each message with the given prefix.#None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af A UTC System Time ClockdClocks can generate reference times, and they can convert these to tickss. Tickss are mere integrals&Return the current absolute time as a  Convert a  to a  by )ing the time with the beginning of time.The time difference (a ) between two sIAdd the relative time to an absolute time to obtain a new absolute time.>Return the time elapsed between since the given absolute time.A . for An   for converting a   from/to a ,.`abcde  d`aebc$None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af  A queue for  frameContent+ to decouple concurrent conduits carrying s. Under the hood a f[ is used. A queue also knows it's default segment duration and preferred polling interval.Asynchronously run a  connected to a  i and create a new source that consumes the queue by polling periodically from that queue, generating a   output. Create a new  ) with an upper bound on the queue length. Consume the  frameContents of a  and write them into a  [. When the queue is full, **drop the oldest element** and push in the new element, anyway.Periodically poll a  \ and yield the content as frames with newly generated timestamp and sequence number values.ghij klmnop  ghij klmnop%None.!"#%&*+,./02345689:;<=?@DILOQRT[\_afA UDP source that uses MonandResource# to make sure the socket is closed.*None.!"#%&*+,./02345689:;<=?@DILOQRT[\_af3  !"$%&'()*+,-./0123456789:BDCGIHJKMLNOPQRSTabefpqrstuvwxyz   +,-./12345BRST`abcdp}~ q+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~tuqwnovrsy  !!!!!!!!!!!!!!!!!! ! ! ! ! !"'################## #!#"###$#%#&#'#(#)#*#+#,$-$.$/$0$1%23453467893:;<=><=?<=@7AB<=CDEFDEG7HI7HJ34KL34MNO P Q7HRSTU7HV W7XYZ[\]^_7`a b7cde7fghijklmnopqrstuvwxyz{|}~7f!S!!!!!!######$$$$$$$$$$'mediabus-0.3.2.0-EYq50xtGpLQJMwyWVW3MgiData.MediaBus.Media.MediaData.MediaBus.Media.Channels%Data.MediaBus.Conduit.TypeAnnotationsData.MediaBus.Conduit.TraceData.MediaBus.Conduit.Logging Data.MediaBus.Basics.VectorExtraData.MediaBus.Basics.SourceIdData.MediaBus.Basics.SeriesData.MediaBus.Basics.OrderedByData.MediaBus.Basics.MonotoneData.MediaBus.Basics.SequenceData.MediaBus.Basics.TicksData.MediaBus.Media.AudioData.MediaBus.Media.SamplesData.MediaBus.Media.Buffer Data.MediaBus.Media.DiscontinousData.MediaBus.Media.SegmentData.MediaBus.Media.BlankData.MediaBus.Media.Audio.Raw"Data.MediaBus.Media.Audio.Raw.Mono)Data.MediaBus.Media.Audio.Raw.Signed16bit"Data.MediaBus.Media.Audio.Raw.Alaw$Data.MediaBus.Media.Audio.Raw.StereoData.MediaBus.Media.StreamData.MediaBus.Conduit.ReorderData.MediaBus.Conduit.Stream$Data.MediaBus.Conduit.Audio.Raw.Alaw)Data.MediaBus.Conduit.Audio.Raw.DebugSink(Data.MediaBus.Conduit.Audio.Raw.Resample"Data.MediaBus.Conduit.DiscontinousData.MediaBus.Conduit.SegmentData.MediaBus.Conduit.TimingData.MediaBus.Media.Reframe!Data.MediaBus.Basics.LoggingExtraData.MediaBus.Basics.ClockData.MediaBus.Conduit.AsyncData.MediaBus.Transport.Udp!Data.MediaBus.Basisc.LoggingExtrawithLogMessagePrefix Data.FoldablefoldMap Data.MediaBus EachMediaL' EachMediaL EachMedia' EachMedia MediaFromEMediaToE eachMedia HasMediaL' HasMediaL HasMedia'HasMedia MediaFromMediaTomediaMediaDescription MkShowMediaIsMediamedia' eachMedia' EachChannel' EachChannelL' EachChannelL EachChannel ChannelsFrom ChannelsTo eachChannelHasChannelLayout ChannelLayoutSetChannelLayoutChannelLayoutProxyMkChannelLayoutProxyConvertChannelLayoutProxyKnownChannelLayoutnumberOfChannels eachChannel'$fShowChannelLayoutProxy annotateTypeCannotateTypeCInannotateTypeCOutannotateTypeSourceannotateTypeSink traceShowC traceShowSink exitAfterC prefixLogsC castedLength EachSourceId SourceIdsFrom SourceIdsTo eachSourceId HasSourceId SourceIdFrom SourceIdTosourceIdSrcId64SrcId32SourceId MkSourceId sourceIdValue$fShowSourceId$fNFDataSourceId $fEqSourceId$fArbitrarySourceId$fDefaultSourceId $fOrdSourceId$fGenericSourceIdSeriesNextStart $fEqSeries$fGenericSeries AsSeriesNext GetSeriesNext SetSeriesNext seriesNext AsSeriesStartGetSeriesStartSetSeriesStart seriesStartAsSeries seriesStart' seriesNext'Series'_Next_Start$fAsSeriesNextSeries$fAsSeriesNextEither$fAsSeriesStartSeries$fAsSeriesStartEither$fAsSeriesSeriesab$fAsSeriesEitherab$fBifunctorSeries$fFunctorSeries$fArbitrarySeries $fOrdSeries $fShowSeries$fNFDataSeries OrderedBy MkOrderedBy$fOrdOrderedBy $fEqOrderedByLocalOrdsucceeds $fLocalOrdInt$fLocalOrdInt64$fLocalOrdInt32$fLocalOrdInt16$fLocalOrdInt8$fLocalOrdWord64$fLocalOrdWord32$fLocalOrdWord16$fLocalOrdWord8 HasSeqNum GetSeqNum SetSeqNumseqNumSeqNum64SeqNum32SeqNum16SeqNum8SeqNumMkSeqNum fromSeqNum$fHasSeqNumSeries $fOrdSeqNum $fShowSeqNum$fHasSeqNumSeqNum$fNFDataSeqNum $fNumSeqNum $fEqSeqNum$fBoundedSeqNum $fEnumSeqNum$fLocalOrdSeqNum$fArbitrarySeqNum$fDefaultSeqNum$fGenericSeqNum$fRandomSeqNum$fIntegralSeqNum $fRealSeqNumHasStaticDurationSetStaticDurationGetStaticDuration HasTimestamp GetTimestamp SetTimestamp timestamp timestamp' HasDuration getDurationgetDurationTicksKnownStaticTicksstaticTicksValStaticTicksTicksStaticTicksRate:/ StaticTicks:/:Ticks64At48000Ticks64At16000 Ticks64At8000Ticks32At48000Ticks32At16000 Ticks32At8000Ticks64Ticks32 PicoSeconds CanBeTicksTicksMkTicks CoerceRate coerceRateHasRateSetRateGetRateOnePerPicoSecondPeriodDuration RateProxy MkRateProxyConvertRateProxy KnownRateRateValrateValHzRateHertzgetRate getRateProxygetPeriodDurationcoerceRateTo8kHzcoerceRateTo16kHzcoerceRateTo48kHzcoerceToDoubleRate mkTicks32 mkTicks64mkTicks32At8000mkTicks32At16000mkTicks32At48000mkTicks64At8000mkTicks64At16000mkTicks64At48000 convertTicksnominalDiffTimetoStaticDurationProxygetStaticDurationgetStaticDurationTicksticksFromStaticDuration$fHasTimestampSeries!$fHasStaticDurationStaticTicks:/:$fHasDurationMaybe$fKnownStaticTicks:/: $fOrdTicks $fShowTicks $fNFDataTicks$fShowRateProxy$fKnownRateHertz $fEqTicks $fRealTicks$fIntegralTicks $fEnumTicks$fLocalOrdTicks $fNumTicks$fArbitraryTicks$fDefaultTicks$fGenericTicks $fRandomTicksAudio$fHasMediaAudioAudio$fHasChannelLayoutAudio$fHasRateAudio EachSample' EachSampleL' EachSampleL EachSample SamplesFrom SamplesTo eachSample CanBeSampleIsSampledMedia eachSample' MediaBuffer MkMediaBufferHasMediaBufferL'HasMediaBufferLHasMediaBuffer'HasMediaBufferMediaBufferFrom MediaBufferTo mediaBuffer mediaBuffer'mediaBufferVectormediaBufferLengthmediaBufferToListmediaBufferFromListmediaBufferFromByteStringmediaBufferToByteStringcreateMediaBuffermodifyMediaBufferunsafeModifyMediaBuffer$fDefaultMediaBuffer$fShowMediaBuffer$fIsListMediaBuffer$fEachMediaBufferMediaBufferab$fGenericMediaBuffer$fNFDataMediaBuffer$fMonoidMediaBuffer$fEqMediaBuffer DiscontinousMissingGot$fDefaultDiscontinous$fNFDataDiscontinous$fShowDiscontinous$fGenericDiscontinous_Missing_Got($fCoerceRateDiscontinousDiscontinousrirj$fHasRateDiscontinous%$fEachChannelDiscontinousDiscontinous$$fEachSampleDiscontinousDiscontinous#$fEachMediaDiscontinousDiscontinous$fHasDurationDiscontinous CanSegmentsplitAfterDurationSegment MkSegmentsegmentContent$fHasDurationSegment$fHasStaticDurationTYPESegment $fShowSegment$fCoerceRateSegmentSegmentrirj$fHasRateSegment$fEachChannelSegmentSegment$fEachSampleSegmentSegment$fHasMediaSegmentSegment$fNFDataSegment$fDefaultSegment$fArbitrarySegment$fFunctorSegment $fEqSegmentCanGenerateBlankMediablankFor blankForTicks CanBeBlankblank$fCanBeBlankSegment IsPcmValue pcmAveragePcmRawpcmMediaBuffer $fMonoidAudio$fCanSegmentAudio$fEachChannelAudioAudio$fEachSampleAudioAudio$fHasMediaBufferAudioAudio $fShowAudio$fShowMediaDescription$fIsMediaAudio $fEqAudio $fNFDataAudio$fHasDurationAudio$fCanGenerateBlankMediaAudioMono $fShowPcm$fEachChannelPcmPcm$fKnownChannelLayoutTYPEMono$fCanBeBlankPcm $fNFDataPcm$fEqPcm $fStorablePcm $fDefaultPcm$fArbitraryPcm$fIsPcmValuePcm$fNumPcm$fOrdPcm $fIntegralPcm $fRealPcm $fEnumPcmS16MkS16 s16Sample$fIsPcmValueS16$fCanBeBlankS16 $fShowS16$fEqS16$fOrdS16$fArbitraryS16 $fBitsS16 $fNFDataS16 $fStorableS16$fNumS16 $fDefaultS16ALaw alawValue alawSampledecodeALawSampleencodeALawSample$fIsPcmValueALaw$fCanBeBlankALaw $fShowALaw$fStorableALaw $fNumALaw$fEqALaw $fBitsALaw$fArbitraryALaw $fGenericALaw $fNFDataALaw $fDefaultALawStereo$fKnownChannelLayoutTYPEStereo $fGenericPcmFrameCtx MkFrameCtx$fNFDataFrameCtx $fEqFrameCtx $fOrdFrameCtx$fGenericFrameCtxFrameMkFrameEachFrameCtxInitFrameCtxInitFromFrameCtxInitToeachFrameCtxInit frameCtxInitframeCtxSeqNumRefframeCtxSourceIdframeCtxTimestampRef $fNFDataFrame$fShowFrameCtx$fDefaultFrameCtx$fArbitraryFrameCtx$fHasSeqNumFrameCtx$fHasDurationFrameCtx$fHasTimestampFrameCtx $fEqFrame $fOrdFrame$fGenericFrame$fFunctorFrame StreamishStreamMkStreamEachFrameContentFrameContentFromFrameContentToeachFrameContent framePayload frameSeqNumframeTimestamp$fNFDataStream $fShowFrame$fDefaultFrame$fArbitraryFrame$fHasDurationFrame$fHasSeqNumFrame$fHasTimestampFrame$fHasMediaFrameFrame$fEachChannelFrameFrame$fEachFrameContentFrameFrame $fOrdStream $fEqStream$fArbitraryStream$fGenericStreamstream $fShowStream$fDefaultStream$fEachFrameContentStreamStream$fHasTimestampStream$fHasSeqNumStream$fHasDurationStream$fEachChannelStreamStreamreorderFramesBySeqNumCreorderFramesByCyieldStreamishyieldStreamish'yieldNextFrameyieldNextFrame'yieldStartFrameCtxyieldStartFrameCtx' overStreamC toFramesC mapFramesC mapFramesC' mapSeqNumC mapTicksC mapTicksC'mapFrameContentC'mapFrameContentMCmapFrameContentMC' foldStream foldStreamMconcatStreamContents alawToS16 s16ToAlawdebugAudioPlaybackSinkresample8to16kHz'concealMissingsegmentC segmentC'forgetSegmentationCderiveFrameTimestampconvertTicksC' ReframeErrorMkReframeError ReframerT ReframerStPushFrameErrorInputFrameIsLateInputFrameOverlapsInputFrameIsEarlyinitialReframerState runReframerpushStartFrame pushFramenextFrameAvailableDurationnextFrameTimestamp generateFramemkReFrameError$fExceptionReframeError$fShowReframeError$fShowReframerSt$fEqPushFrameError$fOrdPushFrameError$fShowPushFrameError$fEnumPushFrameErrorUtcClock MkUtcClockIsClock ClockTime ClockTimeDiff MonadClocknowtimeAsTimeDiffdiffTimetimeAddTimeDiff timeSince useUtcClockutcClockTimeDiff$fLocalOrdClockTimeDiff$fArbitraryClockTimeDiff$fArbitraryClockTime$fDefaultClockTimeDiff$fNFDataClockTimeDiff$fShowClockTimeDiff$fShowClockTime$fNFDataClockTime$fIsClockTYPEUtcClock$fNFDataUtcClock $fEqClockTime$fGenericClockTime$fOrdClockTimeDiff$fEqClockTimeDiff$fNumClockTimeDiff$fGenericClockTimeDiff$fGenericUtcClock FrameContentQwithAsyncPolledSourcemkFrameContentQframeContentQSinkframeContentQSourceudpDatagramSource"lens-4.15.1-HZ4svVc5Ll8LM1cfRon4ItControl.Lens.Type TraversalLensbaseGHC.ShowShowControl.Lens.EachEach$conduit-1.2.9-DZLKUQ9W5cSLiKBqdHp2dFData.Conduit.Internal.ConduitConduitSourceSink Debug.TracetraceMConsumer&vector-0.11.0.0-6uB77qGCxR6GPLxI2sqsX3Data.Vector.StorableVector unsafeCastGHC.WordWord64Word32Iso$sel:_sourceIdValue:MkSourceIdPrism$sel:_seriesValue:Next$sel:_seriesStartValue:Next)$sel:orderedByComparableValue:MkOrderedBy$sel:orderedByValue:MkOrderedByWord8ghc-prim GHC.ClassesOrdWord16$sel:_fromSeqNum:MkSeqNum GHC.TypeLitsKnownNat time-1.6.0.1Data.Time.Clock.UTCNominalDiffTime integer-gmpGHC.Integer.TypeInteger Data.ProxyProxy$sel:_ticks:MkTicksGHC.STST%$sel:_mediaBufferVector:MkMediaBufferGHC.BaseNothing$sel:_segmentContent:MkSegmentD:R:AudiorcRaw0MkPcm$sel:_pcmMediaBuffer:MkPcm MkMonoSample$sel:_monoSample:MkMonoSample D:R:PcmMonos0$sel:_s16Sample:MkS16MkALaw$sel:_alawValue:MkALawMkStereo$sel:_leftSample:MkStereo$sel:_rightSample:MkStereoD:R:PcmStereot0!$sel:_frameCtxSourceId:MkFrameCtx%$sel:_frameCtxTimestampRef:MkFrameCtx"$sel:_frameCtxSeqNumRef:MkFrameCtx$sel:_frameCtxInit:MkFrameCtx$sel:_frameTimestamp:MkFrame$sel:_frameSeqNum:MkFrame$sel:_framePayload:MkFrame$sel:_stream:MkStream ReorderSt MkReorderSt$sel:_expectedRank:MkReorderSt$sel:_frameQueue:MkReorderSt$sel:_frameDrops:MkReorderSt$sel:_lastFrameCtx:MkReorderSt expectedRank frameDrops frameQueue lastFrameCtxmappendtransformers-0.5.2.0 Control.Monad.Trans.State.StrictStateT$sel:_endTs:MkTimeFrame GHC.TypesTrue $sel:reframeError:MkReframeError/$sel:reframeErrorRequestedOutput:MkReframeError"$sel:reframeErrorSt:MkReframeError MkTimeFrame$sel:_startTs:MkTimeFrame$sel:_nextSeqNum:MkTimeFrame,monad-logger-0.3.20.2-5Xy9tiIzhpc5YwROwXIUuIControl.Monad.LoggerLoggingT MonadLoggerIO askLoggerIOMkUtcClockTime!$sel:_utcClockTime:MkUtcClockTimeMkUtcClockTimeDiff)$sel:_utcClockTimeDiff:MkUtcClockTimeDiffD:R:ClockTimeTYPEUtcClock0D:R:ClockTimeDiffTYPEUtcClock0"stm-2.4.4.1-4z2NRWnB0NIIUvSJsHW0kFControl.Concurrent.STM.TBQueueTBQueuePollFrameContentSourceStMkPollFrameContentSourceSt)$sel:_ppSeqNum:MkPollFrameContentSourceSt($sel:_ppTicks:MkPollFrameContentSourceStMkFrameContentQ2$sel:_frameContentQSegmentDuration:MkFrameContentQ/$sel:_frameContentQPollInterval:MkFrameContentQ'$sel:_frameContentQRing:MkFrameContentQppSeqNumppTicks