view libmpcodecs/ve.c @ 17573:8921544f4114

Simplify get_delay(): we don't need to get the complete PCM status but can call snd_pcm_delay() directly. To avoid the audio device appearing to be running too fast after an underrun, ignore any samples that were lost in an underrun.
author cladisch
date Fri, 10 Feb 2006 09:24:48 +0000
parents 6ff3379a0862
children ed69754aa58d
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "config.h"
#include "mp_msg.h"

#include "img_format.h"
#include "mp_image.h"
#include "vf.h"

extern vf_info_t ve_info_divx4;
extern vf_info_t ve_info_lavc;
extern vf_info_t ve_info_vfw;
extern vf_info_t ve_info_raw;
extern vf_info_t ve_info_libdv;
extern vf_info_t ve_info_xvid;
extern vf_info_t ve_info_qtvideo;
extern vf_info_t ve_info_nuv;
extern vf_info_t ve_info_x264;

static vf_info_t* encoder_list[]={
#ifdef HAVE_DIVX4ENCORE
    &ve_info_divx4,
#endif
#ifdef USE_LIBAVCODEC
    &ve_info_lavc,
#endif
#ifdef USE_WIN32DLL
    &ve_info_vfw,
#ifdef USE_QTX_CODECS
    &ve_info_qtvideo,
#endif
#endif
#ifdef HAVE_LIBDV095
    &ve_info_libdv,
#endif
    &ve_info_raw,
#if defined(HAVE_XVID3) || defined(HAVE_XVID4)
    &ve_info_xvid,
#endif
    &ve_info_nuv,
#ifdef HAVE_X264
    &ve_info_x264,
#endif
    NULL
};

vf_instance_t* vf_open_encoder(vf_instance_t* next, char *name, char *args){
    char* vf_args[] = { "_oldargs_", args, NULL };
    return vf_open_plugin(encoder_list,next,name,vf_args);
}