view libmpdemux/demux_nemesi.h @ 24900:9079c9745ff9

A/V sync: take audio filter buffers into account Substract the delay caused by filter buffering when calculating currently playing audio position. This matters for af_scaletempo which buffers significant and varying amounts of data. For other current filters the effect is normally insignificant. Instead of the old time-based filter delay field (which was ignored) this version stores the per-filter delay in units of bytes input read without corresponding output. This allows the current scaletempo behavior where other filters before and after it can see the same nominal samplerate even though the real duration of the data varies; in this case the other filters can not know the delay they're causing in terms of real time.
author uau
date Thu, 01 Nov 2007 06:52:50 +0000
parents e4a38a7cdb81
children
line wrap: on
line source

/*
 *  Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com>
 *   based on previous Live555 RTP support.
 *
 *  MPlayer is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  MPlayer is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with MPlayer; if not, write to the Free Software Foundation,
 *  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */


#ifndef DEMUX_NEMESI_H
#define DEMUX_NEMESI_H

#include <stdlib.h>
#include <stdio.h>
#include "stream/stream.h"
#include "demuxer.h"


/** 
 * Open the RTP demuxer
 */
demuxer_t* demux_open_rtp(demuxer_t* demuxer);

/**
 * Read from the RTP demuxer
 */
int demux_rtp_fill_buffer(demuxer_t *demux, demux_stream_t* ds);

/**
 * Close the RTP demuxer
 */
void demux_close_rtp(demuxer_t* demuxer);

#endif /* DEMUX_NEMESI_H */