Beispiel #1
0
/** helper phony pipe */
static void test_free(struct upipe *upipe)
{
    struct x264_test *x264_test = x264_test_from_upipe(upipe);
    upipe_throw_dead(upipe);
    upipe_clean(upipe);
    free(x264_test);
}
Beispiel #2
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_avcdec_free(struct upipe *upipe)
{
    struct upipe_avcdec *upipe_avcdec = upipe_avcdec_from_upipe(upipe);
    if (upipe_avcdec->context) {
        _upipe_avcdec_set_codec(upipe, NULL, NULL, 0);
        return; /* _set_codec() calls _use()/_release() */
    }

    upipe_throw_dead(upipe);

    if (upipe_avcdec->frame) {
        av_free(upipe_avcdec->frame);
    }

    if (upipe_avcdec->saved_uref) {
        uref_free(upipe_avcdec->saved_uref);
    }
    if (upipe_avcdec->saved_upump_mgr) {
        upump_mgr_sink_unblock(upipe_avcdec->saved_upump_mgr);
        upump_mgr_release(upipe_avcdec->saved_upump_mgr);
    }

    upipe_avcdec_abort_av_deal(upipe);
    upipe_avcdec_clean_output(upipe);
    upipe_avcdec_clean_ubuf_mgr(upipe);
    upipe_avcdec_clean_uref_mgr(upipe);
    upipe_avcdec_clean_upump_mgr(upipe);

    upipe_clean(upipe);
    free(upipe_avcdec);
}
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_osx_audioqueue_sink_free(struct upipe *upipe)
{
    upipe_osx_audioqueue_sink_remove(upipe);
    upipe_throw_dead(upipe);
    upipe_osx_audioqueue_sink_clean_urefcount(upipe);
    upipe_osx_audioqueue_sink_free_void(upipe);
}
Beispiel #4
0
static void upipe_dump_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_dump_clean_output(upipe);
    upipe_dump_clean_urefcount(upipe);
    upipe_dump_free_void(upipe);
}
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_ts_pcr_interpolator_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_ts_pcr_interpolator_clean_output(upipe);
    upipe_ts_pcr_interpolator_clean_urefcount(upipe);
    upipe_ts_pcr_interpolator_free_void(upipe);
}
Beispiel #6
0
/** @internal @This frees all resources allocated.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_multicat_probe_free(struct upipe *upipe)
{
    struct upipe_multicat_probe *upipe_multicat_probe = upipe_multicat_probe_from_upipe(upipe);
    upipe_throw_dead(upipe);
    upipe_multicat_probe_clean_output(upipe);
    upipe_clean(upipe);
    free(upipe_multicat_probe);
}
Beispiel #7
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_dejitter_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_dejitter_clean_output(upipe);
    upipe_dejitter_clean_sub_subs(upipe);
    upipe_dejitter_clean_urefcount(upipe);
    upipe_dejitter_free_void(upipe);
}
Beispiel #8
0
/** @This decrements the reference count of a upipe or frees it.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_ts_check_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_ts_check_clean_output(upipe);
    upipe_ts_check_clean_output_size(upipe);
    upipe_ts_check_clean_urefcount(upipe);
    upipe_ts_check_free_void(upipe);
}
Beispiel #9
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_filter_blend_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_filter_blend_clean_input(upipe);
    upipe_filter_blend_clean_ubuf_mgr(upipe);
    upipe_filter_blend_clean_output(upipe);
    upipe_filter_blend_clean_urefcount(upipe);
    upipe_filter_blend_free_void(upipe);
}
Beispiel #10
0
/** @internal @This frees all resources allocated.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_block_to_sound_free(struct upipe *upipe)
{
    struct upipe_block_to_sound *upipe_block_to_sound = upipe_block_to_sound_from_upipe(upipe);
    upipe_throw_dead(upipe);
    uref_free(upipe_block_to_sound->flow_def_config);
    upipe_block_to_sound_clean_output(upipe);
    upipe_block_to_sound_clean_urefcount(upipe);
    upipe_block_to_sound_clean_ubuf_mgr(upipe);
    upipe_block_to_sound_free_flow(upipe);
}
Beispiel #11
0
static void upipe_rtcp_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_rtcp_clean_ubuf_mgr(upipe);
    upipe_rtcp_clean_uref_mgr(upipe);
    upipe_rtcp_clean_output(upipe);
    upipe_rtcp_clean_urefcount(upipe);
    upipe_rtcp_free_void(upipe);
}
Beispiel #12
0
/** @internal @This frees all resources allocated.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_s337_encaps_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_s337_encaps_clean_output(upipe);
    upipe_s337_encaps_clean_input(upipe);
    upipe_s337_encaps_clean_urefcount(upipe);
    upipe_s337_encaps_clean_ubuf_mgr(upipe);
    upipe_s337_encaps_free_void(upipe);
}
Beispiel #13
0
/** @internal @This frees all resources allocated.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_skip_free(struct upipe *upipe)
{
    struct upipe_skip *upipe_skip = upipe_skip_from_upipe(upipe);
    upipe_dbg_va(upipe, "releasing pipe %p", upipe);
    upipe_throw_dead(upipe);

    upipe_skip_clean_output(upipe);

    upipe_clean(upipe);
    free(upipe_skip);
}
Beispiel #14
0
/** @internal @This frees all resources allocated.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_rtpd_free(struct upipe *upipe)
{
    struct upipe_rtpd *upipe_rtpd = upipe_rtpd_from_upipe(upipe);
    upipe_dbg_va(upipe, "releasing pipe %p", upipe);
    upipe_throw_dead(upipe);

    uref_free(upipe_rtpd->flow_def_input);
    upipe_rtpd_clean_output(upipe);
    upipe_rtpd_clean_urefcount(upipe);
    upipe_rtpd_free_void(upipe);
}
Beispiel #15
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_ts_pese_free(struct upipe *upipe)
{
    upipe_ts_pese_work(upipe, NULL);

    upipe_throw_dead(upipe);

    upipe_ts_pese_clean_input(upipe);
    upipe_ts_pese_clean_output(upipe);
    upipe_ts_pese_clean_ubuf_mgr(upipe);
    upipe_ts_pese_clean_urefcount(upipe);
    upipe_ts_pese_free_void(upipe);
}
Beispiel #16
0
/** @internal @This frees a void source pipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_voidsrc_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_voidsrc_clean_timer(upipe);
    upipe_voidsrc_clean_upump_mgr(upipe);
    upipe_voidsrc_clean_uclock(upipe);
    upipe_voidsrc_clean_uref_mgr(upipe);
    upipe_voidsrc_clean_output(upipe);
    upipe_voidsrc_clean_urefcount(upipe);
    upipe_voidsrc_free_flow(upipe);
}
Beispiel #17
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_a52f_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    upipe_a52f_clean_uref_stream(upipe);
    upipe_a52f_clean_output(upipe);
    upipe_a52f_clean_flow_def(upipe);
    upipe_a52f_clean_sync(upipe);

    upipe_a52f_clean_urefcount(upipe);
    upipe_a52f_free_void(upipe);
}
Beispiel #18
0
/** @This frees a upipe.
 *
 * @param urefcount_real pointer to urefcount_real structure
 */
static void upipe_wsrc_free(struct urefcount *urefcount_real)
{
    struct upipe_wsrc *upipe_wsrc =
        upipe_wsrc_from_urefcount_real(urefcount_real);
    struct upipe *upipe = upipe_wsrc_to_upipe(upipe_wsrc);
    upipe_throw_dead(upipe);
    uprobe_clean(&upipe_wsrc->proxy_probe);
    upipe_wsrc_clean_last_inner_probe(upipe);
    urefcount_clean(urefcount_real);
    upipe_wsrc_clean_urefcount(upipe);
    upipe_clean(upipe);
    free(upipe_wsrc);
}
Beispiel #19
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_telxf_free(struct upipe *upipe)
{
    struct upipe_telxf *upipe_telxf = upipe_telxf_from_upipe(upipe);
    upipe_throw_dead(upipe);

    uref_free(upipe_telxf->next_uref);
    upipe_telxf_clean_output(upipe);
    upipe_telxf_clean_flow_def(upipe);
    upipe_telxf_clean_sync(upipe);

    upipe_telxf_clean_urefcount(upipe);
    upipe_telxf_free_void(upipe);
}
Beispiel #20
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_audiobar_free(struct upipe *upipe)
{
    upipe_throw_dead(upipe);

    struct upipe_audiobar *upipe_audiobar = upipe_audiobar_from_upipe(upipe);
    uref_free(upipe_audiobar->flow_def_config);
    upipe_audiobar_clean_flow_format(upipe);
    upipe_audiobar_clean_ubuf_mgr(upipe);
    upipe_audiobar_clean_output(upipe);
    upipe_audiobar_clean_input(upipe);
    upipe_audiobar_clean_urefcount(upipe);
    upipe_audiobar_free_flow(upipe);
}
Beispiel #21
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_filter_ebur128_free(struct upipe *upipe)
{
    struct upipe_filter_ebur128 *upipe_filter_ebur128 =
                                 upipe_filter_ebur128_from_upipe(upipe);
    if (likely(upipe_filter_ebur128->st)) {
        ebur128_destroy(&upipe_filter_ebur128->st);
    }
    upipe_throw_dead(upipe);

    upipe_filter_ebur128_clean_output(upipe);
    upipe_filter_ebur128_clean_urefcount(upipe);
    upipe_filter_ebur128_free_void(upipe);
}
Beispiel #22
0
/** @This decrements the reference count of a upipe or frees it.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_agg_free(struct upipe *upipe)
{
    struct upipe_agg *upipe_agg = upipe_agg_from_upipe(upipe);

    if (unlikely(upipe_agg->aggregated)) {
        upipe_agg_output(upipe, upipe_agg->aggregated, NULL);
    }
    upipe_throw_dead(upipe);
    upipe_agg_clean_output(upipe);
    upipe_agg_clean_output_size(upipe);
    upipe_agg_clean_urefcount(upipe);
    upipe_agg_free_void(upipe);
}
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_ts_pesd_free(struct upipe *upipe)
{
    struct upipe_ts_pesd *upipe_ts_pesd = upipe_ts_pesd_from_upipe(upipe);
    upipe_throw_dead(upipe);

    upipe_ts_pesd_clean_output(upipe);
    upipe_ts_pesd_clean_sync(upipe);

    if (upipe_ts_pesd->next_uref != NULL)
        uref_free(upipe_ts_pesd->next_uref);
    upipe_ts_pesd_clean_urefcount(upipe);
    upipe_ts_pesd_free_void(upipe);
}
Beispiel #24
0
/** @This frees a upipe.
 *
 * @param urefcount_real pointer to urefcount_real structure
 */
static void upipe_fdec_free(struct urefcount *urefcount_real)
{
    struct upipe_fdec *upipe_fdec =
        upipe_fdec_from_urefcount_real(urefcount_real);
    struct upipe *upipe = upipe_fdec_to_upipe(upipe_fdec);
    upipe_throw_dead(upipe);
    uref_free(upipe_fdec->options);
    upipe_fdec_clean_last_inner_probe(upipe);
    upipe_fdec_clean_uref_mgr(upipe);
    urefcount_clean(urefcount_real);
    upipe_fdec_clean_urefcount(upipe);
    upipe_fdec_free_void(upipe);
}
Beispiel #25
0
/** @This frees a upipe.
 *
 * @param urefcount_real pointer to urefcount_real structure
 */
static void upipe_wsink_free(struct urefcount *urefcount_real)
{
    struct upipe_wsink *upipe_wsink =
        upipe_wsink_from_urefcount_real(urefcount_real);
    struct upipe *upipe = upipe_wsink_to_upipe(upipe_wsink);
    upipe_throw_dead(upipe);
    uprobe_clean(&upipe_wsink->proxy_probe);
    uprobe_clean(&upipe_wsink->in_qsrc_probe);
    urefcount_clean(urefcount_real);
    upipe_wsink_clean_urefcount(upipe);
    upipe_clean(upipe);
    free(upipe_wsink);
}
Beispiel #26
0
/** @internal @This frees an audio blank pipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_ablk_free(struct upipe *upipe)
{
    struct upipe_ablk *upipe_ablk = upipe_ablk_from_upipe(upipe);

    upipe_throw_dead(upipe);

    if (upipe_ablk->ubuf)
        ubuf_free(upipe_ablk->ubuf);
    upipe_ablk_clean_flow_def(upipe);
    upipe_ablk_clean_ubuf_mgr(upipe);
    upipe_ablk_clean_output(upipe);
    upipe_ablk_clean_urefcount(upipe);
    upipe_ablk_free_flow(upipe);
}
Beispiel #27
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_setflowdef_free(struct upipe *upipe)
{
    struct upipe_setflowdef *upipe_setflowdef = upipe_setflowdef_from_upipe(upipe);
    upipe_throw_dead(upipe);

    upipe_setflowdef_clean_output(upipe);
    uref_free(upipe_setflowdef->flow_def_input);

    if (upipe_setflowdef->dict != NULL)
        uref_free(upipe_setflowdef->dict);

    upipe_setflowdef_clean_urefcount(upipe);
    upipe_setflowdef_free_void(upipe);
}
Beispiel #28
0
/** @This frees a upipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_blksrc_free(struct upipe *upipe)
{
    struct upipe_blksrc *upipe_blksrc = upipe_blksrc_from_upipe(upipe);

    upipe_throw_dead(upipe);

    uref_free(upipe_blksrc->flow_def);
    upipe_blksrc_clean_bin_output(upipe);
    upipe_blksrc_clean_bin_input(upipe);
    upipe_blksrc_clean_blk_probe(upipe);
    upipe_blksrc_clean_src_probe(upipe);
    upipe_blksrc_clean_urefcount_real(upipe);
    upipe_blksrc_clean_urefcount(upipe);
    upipe_blksrc_free_flow(upipe);
}
Beispiel #29
0
/** @internal @This frees a dvbcsa encryption pipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_dvbcsa_enc_free(struct upipe *upipe)
{
    struct upipe_dvbcsa_enc *upipe_dvbcsa_enc =
        upipe_dvbcsa_enc_from_upipe(upipe);
    struct upipe_dvbcsa_common *common =
        upipe_dvbcsa_enc_to_common(upipe_dvbcsa_enc);

    upipe_throw_dead(upipe);

    dvbcsa_key_free(upipe_dvbcsa_enc->key);
    upipe_dvbcsa_common_clean(common);
    upipe_dvbcsa_enc_clean_output(upipe);
    upipe_dvbcsa_enc_clean_urefcount(upipe);
    upipe_dvbcsa_enc_free_void(upipe);
}
Beispiel #30
0
/** @internal @This frees a m3u pipe.
 *
 * @param upipe description structure of the pipe
 */
static void upipe_m3u_reader_free(struct upipe *upipe)
{
    struct upipe_m3u_reader *upipe_m3u_reader =
        upipe_m3u_reader_from_upipe(upipe);

    upipe_throw_dead(upipe);

    uref_free(upipe_m3u_reader->key);
    upipe_m3u_reader_flush(upipe);
    uref_free(upipe_m3u_reader->flow_def);
    upipe_m3u_reader_clean_uref_stream(upipe);
    upipe_m3u_reader_clean_output(upipe);
    upipe_m3u_reader_clean_urefcount(upipe);
    upipe_m3u_reader_free_void(upipe);
}