Пример #1
0
void
term_all()
/*
 * Terminate all of the internal systems
 */
{
	int	i;

	void	(* term_func[])(void) =		 /* List of term routines     */
			{
				term_runtime_layout,
				term_keyhooks,
				term_midihooks,
				term_automators,
				term_aud,
				term_cables,
				term_midi,
				term_devices,
				term_mixers,
				term_decks,
				term_jack,
				term_config,
				term_triggers,
				term_objects,
				NULL
			};

	stop_jack();

	for(i=0; term_func[i]; i++)		 /* For each term routine ... */
		term_func[i]();			 /* ... call it!	      */
}						 /* term_all()		      */
Пример #2
0
static int audio_read_header(AVFormatContext *context, AVFormatParameters *params)
{
    JackData *self = context->priv_data;
    AVStream *stream;
    int test;

    if (params->sample_rate <= 0 || params->channels <= 0)
        return -1;

    if ((test = start_jack(context, params)))
        return test;

    stream = av_new_stream(context, 0);
    if (!stream) {
        stop_jack(self);
        return AVERROR(ENOMEM);
    }

    stream->codec->codec_type   = CODEC_TYPE_AUDIO;
#if HAVE_BIGENDIAN
    stream->codec->codec_id     = CODEC_ID_PCM_F32BE;
#else
    stream->codec->codec_id     = CODEC_ID_PCM_F32LE;
#endif
    stream->codec->sample_rate  = self->sample_rate;
    stream->codec->channels     = self->nports;

    av_set_pts_info(stream, 64, 1, 1000000);  /* 64 bits pts in us */
    return 0;
}
Пример #3
0
static int audio_read_close(AVFormatContext *context)
{
    JackData *self = context->priv_data;
    stop_jack(self);
    return 0;
}
Пример #4
0
 void stop_playing ()
 {
     stop_jack();
     stop();
     g_rc_settings.is_pattern_playing(false);
 }