diff options
Diffstat (limited to 'sys/applemedia/atdec.c')
-rw-r--r-- | sys/applemedia/atdec.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/applemedia/atdec.c b/sys/applemedia/atdec.c index fae15c9e3..f4d1f3ddc 100644 --- a/sys/applemedia/atdec.c +++ b/sys/applemedia/atdec.c @@ -300,6 +300,8 @@ gst_atdec_set_format (GstAudioDecoder * decoder, GstCaps * caps) /* configure input_format from caps */ gst_caps_to_at_format (caps, &input_format); + /* Remember the number of samples per frame */ + atdec->spf = input_format.mFramesPerPacket; /* negotiate output caps */ output_caps = gst_pad_get_allowed_caps (GST_AUDIO_DECODER_SRC_PAD (atdec)); @@ -411,9 +413,7 @@ gst_atdec_handle_frame (GstAudioDecoder * decoder, GstBuffer * buffer) goto enqueue_buffer_failed; /* figure out how many frames we need to pull out of the queue */ - out_frames = GST_CLOCK_TIME_TO_FRAMES (GST_BUFFER_DURATION (buffer), - audio_info->rate); - size = out_frames * audio_info->bpf; + size = atdec->spf * audio_info->bpf; AudioQueueAllocateBuffer (atdec->queue, size, &output_buffer); if (status) goto allocate_output_failed; |