static void swfdec_audio_decoder_gst_push (SwfdecAudioDecoder *dec, SwfdecBuffer *buffer) { SwfdecAudioDecoderGst *player = SWFDEC_AUDIO_DECODER_GST (dec); GstBuffer *buf; if (buffer == NULL) { swfdec_gst_decoder_push_eos (&player->dec); } else { swfdec_buffer_ref (buffer); buf = swfdec_gst_buffer_new (buffer); if (!swfdec_gst_decoder_push (&player->dec, buf)) swfdec_audio_decoder_error (dec, "error pushing"); } }
VideoDecoderGst::~VideoDecoderGst() { swfdec_gst_decoder_push_eos(&_decoder); swfdec_gst_decoder_finish(&_decoder); }
AudioDecoderGst::~AudioDecoderGst() { assert(g_queue_is_empty (_decoder.queue)); swfdec_gst_decoder_push_eos(&_decoder); swfdec_gst_decoder_finish(&_decoder); }