From 9003ed34ba8e694b44433597c890affac369c368 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 1 Jan 2004 22:45:57 +0000 Subject: configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1.... Original commit message from CVS: 2004-01-01 Ronald Bultje * configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and it therefore uses the wrong include paths. Too bad... Note that 1.6.1.93 is not release yet. ;). Also add a check for mplex, which is now using the lib'ified mplex from mjpegtools, too. * ext/ffmpeg/gstffmpegcodecmap.c: Add codec_tag for 3ivx/xvid. For xvid, this should fix playback issues. I don't think ffmpeg handles 3ivx correctly, so this probably won't work. But it won't hurt either. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect), (gst_ffmpegenc_chain_audio): Fix memleak in audio encoding. Close codec if open fails, this calls the cleanup routines so we can re-use the context. * ext/mpeg2enc/gstmpeg2enc.cc: Fix pad template names/types, fix memory issue with getcaps(). * ext/mpeg2enc/gstmpeg2encoder.cc: * ext/mpeg2enc/gstmpeg2encoder.hh: Fix compile issue with new caps system (const thingy). * ext/mpeg2enc/gstmpeg2encpicturereader.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.hh: We read a first frame right on initing, so that we have a caps when we init the output. This caps is cached in padprivate and read as first frame. * ext/mplex/Makefile.am: * ext/mplex/gstmplex.cc: * ext/mplex/gstmplex.h: * ext/mplex/gstmplex.hh: * ext/mplex/gstmplexibitstream.cc: * ext/mplex/gstmplexibitstream.hh: * ext/mplex/gstmplexjob.cc: * ext/mplex/gstmplexjob.hh: * ext/mplex/gstmplexoutputstream.cc: * ext/mplex/gstmplexoutputstream.hh: We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin had issues, didn't do capsnego, supported only a subset of the mplex features and required a mplex fork in our local CVS. Plus that it worked agaist a very old mplex version. Rewriting was faster than updating it. * gst-libs/ext/Makefile.am: * gst-libs/ext/mplex/INSTRUCT: * gst-libs/ext/mplex/Makefile.am: * gst-libs/ext/mplex/README: * gst-libs/ext/mplex/TODO: * gst-libs/ext/mplex/ac3strm_in.cc: * gst-libs/ext/mplex/audiostrm.hh: * gst-libs/ext/mplex/audiostrm_out.cc: * gst-libs/ext/mplex/aunit.hh: * gst-libs/ext/mplex/bits.cc: * gst-libs/ext/mplex/bits.hh: * gst-libs/ext/mplex/buffer.cc: * gst-libs/ext/mplex/buffer.hh: * gst-libs/ext/mplex/fastintfns.h: * gst-libs/ext/mplex/format_codes.h: * gst-libs/ext/mplex/inputstrm.cc: * gst-libs/ext/mplex/inputstrm.hh: * gst-libs/ext/mplex/lpcmstrm_in.cc: * gst-libs/ext/mplex/mjpeg_logging.cc: * gst-libs/ext/mplex/mjpeg_logging.h: * gst-libs/ext/mplex/mjpeg_types.h: * gst-libs/ext/mplex/mpastrm_in.cc: * gst-libs/ext/mplex/mpegconsts.cc: * gst-libs/ext/mplex/mpegconsts.h: * gst-libs/ext/mplex/mplexconsts.hh: * gst-libs/ext/mplex/multplex.cc: * gst-libs/ext/mplex/outputstream.hh: * gst-libs/ext/mplex/padstrm.cc: * gst-libs/ext/mplex/padstrm.hh: * gst-libs/ext/mplex/stillsstream.cc: * gst-libs/ext/mplex/stillsstream.hh: * gst-libs/ext/mplex/systems.cc: * gst-libs/ext/mplex/systems.hh: * gst-libs/ext/mplex/vector.cc: * gst-libs/ext/mplex/vector.hh: * gst-libs/ext/mplex/videostrm.hh: * gst-libs/ext/mplex/videostrm_in.cc: * gst-libs/ext/mplex/videostrm_out.cc: * gst-libs/ext/mplex/yuv4mpeg.cc: * gst-libs/ext/mplex/yuv4mpeg.h: * gst-libs/ext/mplex/yuv4mpeg_intern.h: * gst-libs/ext/mplex/yuv4mpeg_ratio.cc: We don't fork mjpegtools' mplex in our CVS anymore. * gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps), (gst_avi_demux_add_stream): * gst/avi/gstavidemux.h: Add getcaps() function for proper caps nego. This makes some parts of AVI playback/reading work. * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Resize window on new capsnego. This is probably wrong, but I'm still committing it because with current capsnego, the first successfull capsnego is auto-fixated, therefore rounded down to the lowest values in the caps. this results in a 16x16 XWindow that is not reized when real capsnego finishes. Dave, I see more cases of this, do you know a proper solution? * tools/gst-launch-ext.in: Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline. --- gst-libs/ext/mplex/systems.hh | 131 ------------------------------------------ 1 file changed, 131 deletions(-) delete mode 100644 gst-libs/ext/mplex/systems.hh (limited to 'gst-libs/ext/mplex/systems.hh') diff --git a/gst-libs/ext/mplex/systems.hh b/gst-libs/ext/mplex/systems.hh deleted file mode 100644 index bbad92f5..00000000 --- a/gst-libs/ext/mplex/systems.hh +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef __SYSTEMS_HH__ -#define __SYSTEMS_HH__ - -#include "inputstrm.hh" - -#include - -using std::vector; - -/* Buffer size parameters */ - -#define MAX_SECTOR_SIZE 16384 -#define MAX_PACK_HEADER_SIZE 255 -#define MAX_SYS_HEADER_SIZE 255 - - -typedef class PS_Stream _PS_Stream; - -typedef size_t (*WriteCallback) (_PS_Stream *str, uint8_t *data, size_t size, void *user_data); - - -typedef struct sector_struc /* Ein Sektor, kann Pack, Sys Header */ -/* und Packet enthalten. */ -{ - unsigned char buf[MAX_SECTOR_SIZE]; - unsigned int length_of_packet_data; - //clockticks TS ; -} -Sector_struc; - -typedef struct pack_struc /* Pack Info */ -{ - unsigned char buf[MAX_PACK_HEADER_SIZE]; - int length; - clockticks SCR; -} -Pack_struc; - -typedef struct sys_header_struc /* System Header Info */ -{ - unsigned char buf[MAX_SYS_HEADER_SIZE]; - int length; -} -Sys_header_struc; - - -class PS_Stream { -public: - PS_Stream (WriteCallback _callback, void *_user_data): - callback (_callback), - user_data (_user_data) - { - } - - void Init (unsigned _mpeg, unsigned int _sector_sizen, off_t max_segment_size); // 0 = No Limit - - bool FileLimReached (); - void NextFile (); - unsigned int PacketPayload (MuxStream & strm, - Sys_header_struc * sys_header, - Pack_struc * pack_header, int buffers, int PTSstamp, int DTSstamp); - - unsigned int CreateSector (Pack_struc * pack, - Sys_header_struc * sys_header, - unsigned int max_packet_data_size, - MuxStream & strm, - bool buffers, bool end_marker, clockticks PTS, clockticks DTS, uint8_t timestamps); - void RawWrite (uint8_t * data, unsigned int len); - static void BufferSectorHeader (uint8_t * buf, - Pack_struc * pack, Sys_header_struc * sys_header, uint8_t * &header_end); - static void BufferPacketHeader (uint8_t * buf, - uint8_t type, - unsigned int mpeg_version, - bool buffers, - unsigned int buffer_size, - uint8_t buffer_scale, - clockticks PTS, - clockticks DTS, - uint8_t timestamps, uint8_t * &size_field, uint8_t * &header_end); - - static inline void BufferPacketSize (uint8_t * size_field, uint8_t * packet_end) - { - unsigned int - packet_size = - packet_end - - size_field - - 2; - - size_field[0] = static_cast < uint8_t > (packet_size >> 8); - size_field[1] = static_cast < uint8_t > (packet_size & 0xff); - - } - - void CreatePack (Pack_struc * pack, clockticks SCR, unsigned int mux_rate); - void CreateSysHeader (Sys_header_struc * sys_header, - unsigned int rate_bound, - bool fixed, - int CSPS, bool audio_lock, bool video_lock, vector < MuxStream * >&streams); - - void Close () - { - } - -private: - - /* TODO: Replace **'s with *&'s */ - static void BufferDtsPtsMpeg1ScrTimecode (clockticks timecode, uint8_t marker, uint8_t ** buffer); - static void BufferMpeg2ScrTimecode (clockticks timecode, uint8_t ** buffer); - void BufferPaddingPacket (int padding, uint8_t * &buffer); - -private: - unsigned int mpeg_version; - unsigned int sector_size; - int segment_num; - - off_t max_segment_size; - uint8_t * sector_buf; - WriteCallback callback; - void *user_data; - off_t written; -}; -#endif // __SYSTEMS_HH__ - - -/* - * Local variables: - * c-file-style: "stroustrup" - * tab-width: 4 - * indent-tabs-mode: nil - * End: - */ -- cgit v1.2.1