Blame src/tsbuffer.h

Packit 0bbbb1
/*
Packit 0bbbb1
 * libiec61883 - Linux IEEE 1394 streaming media library.
Packit 0bbbb1
 * Copyright (C) 2004 Kristian Hogsberg, Dan Dennedy, and Dan Maas.
Packit 0bbbb1
 * This file orginially written in C++ by Dan Maas; ported to C by Dan Dennedy.
Packit 0bbbb1
 *
Packit 0bbbb1
 * This library is free software; you can redistribute it and/or
Packit 0bbbb1
 * modify it under the terms of the GNU Lesser General Public
Packit 0bbbb1
 * License as published by the Free Software Foundation; either
Packit 0bbbb1
 * version 2.1 of the License, or (at your option) any later version.
Packit 0bbbb1
 *
Packit 0bbbb1
 * This library is distributed in the hope that it will be useful,
Packit 0bbbb1
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 0bbbb1
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 0bbbb1
 * Lesser General Public License for more details.
Packit 0bbbb1
 *
Packit 0bbbb1
 * You should have received a copy of the GNU Lesser General Public
Packit 0bbbb1
 * License along with this library; if not, write to the Free Software
Packit 0bbbb1
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit 0bbbb1
 */
Packit 0bbbb1
 
Packit 0bbbb1
#ifndef _TSBUFFER_H
Packit 0bbbb1
#define _TSBUFFER_H
Packit 0bbbb1
Packit 0bbbb1
#include "iec61883.h"
Packit 0bbbb1
Packit 0bbbb1
struct tsbuffer;
Packit 0bbbb1
typedef struct tsbuffer* tsbuffer_t;
Packit 0bbbb1
Packit 0bbbb1
#ifdef __cplusplus
Packit 0bbbb1
extern "C" {
Packit 0bbbb1
#endif
Packit 0bbbb1
Packit 0bbbb1
tsbuffer_t
Packit 0bbbb1
tsbuffer_init (iec61883_mpeg2_xmit_t read_cb, void *callback_data, int pid);
Packit 0bbbb1
	
Packit 0bbbb1
void
Packit 0bbbb1
tsbuffer_close (tsbuffer_t self);
Packit 0bbbb1
	
Packit 0bbbb1
void 
Packit 0bbbb1
tsbuffer_set_pid (tsbuffer_t self, int pid);
Packit 0bbbb1
	
Packit 0bbbb1
// read one MPEG-2 TS packet from the input fd
Packit 0bbbb1
// and stick it on the end of ts_queue
Packit 0bbbb1
int
Packit 0bbbb1
tsbuffer_read_ts (tsbuffer_t self);
Packit 0bbbb1
Packit 0bbbb1
// read packets into ts_queue until we find one with a PCR
Packit 0bbbb1
int
Packit 0bbbb1
tsbuffer_read_to_next_pcr (tsbuffer_t self);
Packit 0bbbb1
Packit 0bbbb1
// refill the queue and update timestamper state
Packit 0bbbb1
int
Packit 0bbbb1
tsbuffer_refill (tsbuffer_t self);
Packit 0bbbb1
Packit 0bbbb1
// output one ISO cycle's worth of packets
Packit 0bbbb1
// returns the total length of the ISO data
Packit 0bbbb1
unsigned int tsbuffer_send_iso_cycle (tsbuffer_t self, void *data, 
Packit 0bbbb1
	unsigned int iso_cycle, unsigned char src_node_id, unsigned int dropped);
Packit 0bbbb1
Packit 0bbbb1
#ifdef __cplusplus
Packit 0bbbb1
}
Packit 0bbbb1
#endif
Packit 0bbbb1
Packit 0bbbb1
#endif /* _TSBUFFER_H */