summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2012-01-18 19:54:34 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2012-01-18 19:54:34 +0000
commit3119dd2de36dbd8bb9af95ab1826c15f3099b597 (patch)
tree76b0324c6e93b86550e63ad02f1154580ce79526 /src
parent7366cab446742882341e4a5304527e8b1a6965eb (diff)
parentcb6e4b4ffd49cdef83c6d025f175cf6a79705fc8 (diff)
downloadxine-lib-3119dd2de36dbd8bb9af95ab1826c15f3099b597.tar.gz
xine-lib-3119dd2de36dbd8bb9af95ab1826c15f3099b597.tar.bz2
Merge.
Diffstat (limited to 'src')
-rw-r--r--src/audio_out/audio_file_out.c16
-rw-r--r--src/audio_out/audio_jack_out.c5
-rw-r--r--src/audio_out/audio_pulse_out.c3
-rw-r--r--src/audio_out/audio_sndio_out.c6
-rw-r--r--src/combined/xine_ogg_demuxer.c31
-rw-r--r--src/demuxers/asfheader.c4
-rw-r--r--src/demuxers/demux_asf.c18
-rw-r--r--src/demuxers/demux_avi.c6
-rw-r--r--src/demuxers/demux_iff.c2
-rw-r--r--src/demuxers/demux_matroska.c13
-rw-r--r--src/demuxers/demux_mpc.c2
-rw-r--r--src/demuxers/demux_mpeg_block.c4
-rw-r--r--src/demuxers/demux_mpeg_pes.c5
-rw-r--r--src/demuxers/demux_real.c4
-rw-r--r--src/demuxers/demux_wc3movie.c3
-rw-r--r--src/post/audio/stretch.c2
-rw-r--r--src/post/audio/upmix_mono.c2
-rw-r--r--src/post/deinterlace/xine_plugin.c3
-rw-r--r--src/spu_dec/spudvb_decoder.c13
-rw-r--r--src/spu_dec/sputext_decoder.c2
-rw-r--r--src/vdr/input_vdr.c1
-rw-r--r--src/video_out/video_out_fb.c5
-rw-r--r--src/video_out/video_out_opengl.c8
-rw-r--r--src/video_out/video_out_xcbshm.c2
-rw-r--r--src/video_out/video_out_xcbxv.c12
-rw-r--r--src/video_out/video_out_xshm.c5
-rw-r--r--src/video_out/video_out_xv.c4
-rw-r--r--src/video_out/video_out_xvmc.c2
-rw-r--r--src/video_out/video_out_xxmc.c4
-rw-r--r--src/xine-engine/configfile.c3
-rw-r--r--src/xine-engine/load_plugins.c8
-rw-r--r--src/xine-engine/xine.c2
-rw-r--r--src/xine-utils/memcpy.c1
-rw-r--r--src/xine-utils/xmllexer.c5
-rw-r--r--src/xine-utils/xmlparser.c2
35 files changed, 121 insertions, 87 deletions
diff --git a/src/audio_out/audio_file_out.c b/src/audio_out/audio_file_out.c
index 4f4e6bc47..0a4471a19 100644
--- a/src/audio_out/audio_file_out.c
+++ b/src/audio_out/audio_file_out.c
@@ -274,10 +274,20 @@ static void ao_file_close(ao_driver_t *this_gen)
this->fname, this->bytes_written / 1024);
if (lseek(this->fd, 40, SEEK_SET) != -1) {
- write(this->fd, &len, 4);
+ if (write(this->fd, &len, 4) != 4) {
+ xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_file_out: Failed to write header to file '%s': %s\n",
+ this->fname, strerror(errno));
+ }
+
len = le2me_32(this->bytes_written + 0x24);
- if (lseek(this->fd, 4, SEEK_SET) != -1)
- write(this->fd, &len, 4);
+ if (lseek(this->fd, 4, SEEK_SET) != -1) {
+ if (write(this->fd, &len, 4) != 4) {
+ xprintf (this->xine, XINE_VERBOSITY_LOG,
+ "audio_file_out: Failed to write header to file '%s': %s\n",
+ this->fname, strerror(errno));
+ }
+ }
+
}
close(this->fd);
diff --git a/src/audio_out/audio_jack_out.c b/src/audio_out/audio_jack_out.c
index eca1263ed..975a5f38a 100644
--- a/src/audio_out/audio_jack_out.c
+++ b/src/audio_out/audio_jack_out.c
@@ -278,12 +278,13 @@ static int jack_callback (jack_nframes_t nframes, void *arg)
return 0;
}
-
+#if 0
static void jack_shutdown (void *arg)
{
jack_driver_t *this = (jack_driver_t *) arg;
this->client = NULL;
}
+#endif
/*
* Open the Jack audio device
@@ -295,7 +296,6 @@ static int jack_open_device (ao_driver_t *this_gen, char *jack_device,
{
jack_driver_t *this = (jack_driver_t *) this_gen;
const char **matching_ports = NULL;
- char *port_name = NULL;
jack_client_t *client = this->client;
int port_flags = JackPortIsInput;
@@ -686,7 +686,6 @@ static ao_driver_t *open_jack_plugin (audio_driver_class_t *class_gen,
uint32_t rate;
char *jack_device;
const char **matching_ports = NULL;
- const char **port_names;
/* for usability reasons, keep this in sync with audio_oss_out.c */
static char *speaker_arrangement[] = {
diff --git a/src/audio_out/audio_pulse_out.c b/src/audio_out/audio_pulse_out.c
index bd057501b..5370389c7 100644
--- a/src/audio_out/audio_pulse_out.c
+++ b/src/audio_out/audio_pulse_out.c
@@ -360,7 +360,6 @@ static int ao_pulse_open(ao_driver_t *this_gen,
pulse_driver_t *this = (pulse_driver_t *) this_gen;
pa_sample_spec ss;
pa_channel_map cm;
- int r;
xprintf (this->xine, XINE_VERBOSITY_DEBUG,
"audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
@@ -466,7 +465,7 @@ static int ao_pulse_open(ao_driver_t *this_gen,
pa_stream_set_write_callback(this->stream, __xine_pa_stream_request_callback, this);
pa_stream_set_latency_update_callback(this->stream, __xine_pa_stream_notify_callback, this);
- r = pa_stream_connect_playback(this->stream, this->sink, NULL,
+ pa_stream_connect_playback(this->stream, this->sink, NULL,
PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
NULL, NULL);
diff --git a/src/audio_out/audio_sndio_out.c b/src/audio_out/audio_sndio_out.c
index 48e77c3b4..55d479963 100644
--- a/src/audio_out/audio_sndio_out.c
+++ b/src/audio_out/audio_sndio_out.c
@@ -32,9 +32,9 @@
#include <sndio.h>
-#include "xine_internal.h"
-#include "xineutils.h"
-#include "audio_out.h"
+#include <xine/xine_internal.h>
+#include <xine/xineutils.h>
+#include <xine/audio_out.h>
#include "bswap.h"
#define GAP_TOLERANCE AO_MAX_GAP
diff --git a/src/combined/xine_ogg_demuxer.c b/src/combined/xine_ogg_demuxer.c
index e297339df..d8fae78f7 100644
--- a/src/combined/xine_ogg_demuxer.c
+++ b/src/combined/xine_ogg_demuxer.c
@@ -940,21 +940,27 @@ static void decode_video_header (demux_ogg_t *this, const int stream_num, ogg_pa
xine_bmiheader bih;
int channel;
+#ifdef LOG
int16_t locbits_per_sample;
+ int32_t locsize, locdefault_len, locbuffersize;
+ int64_t locsamples_per_unit;
+#endif
uint32_t locsubtype;
- int32_t locsize, locdefault_len, locbuffersize, locwidth, locheight;
- int64_t loctime_unit, locsamples_per_unit;
+ int32_t locwidth, locheight;
+ int64_t loctime_unit;
/* read fourcc with machine endianness */
locsubtype = *((uint32_t *)&op->packet[9]);
/* everything else little endian */
- locsize = _X_LE_32(&op->packet[13]);
loctime_unit = _X_LE_64(&op->packet[17]);
+#ifdef LOG
+ locsize = _X_LE_32(&op->packet[13]);
locsamples_per_unit = _X_LE_64(&op->packet[25]);
locdefault_len = _X_LE_32(&op->packet[33]);
locbuffersize = _X_LE_32(&op->packet[37]);
locbits_per_sample = _X_LE_16(&op->packet[41]);
+#endif
locwidth = _X_LE_32(&op->packet[45]);
locheight = _X_LE_32(&op->packet[49]);
@@ -1026,18 +1032,25 @@ static void decode_audio_header (demux_ogg_t *this, const int stream_num, ogg_pa
char str[5];
int channel;
- int16_t locbits_per_sample, locchannels, locblockalign;
- int32_t locsize, locdefault_len, locbuffersize, locavgbytespersec;
- int64_t loctime_unit, locsamples_per_unit;
+#ifdef LOG
+ int16_t locblockalign;
+ int32_t locsize, locdefault_len, locbuffersize;
+ int64_t loctime_unit;
+#endif
+ int16_t locbits_per_sample, locchannels;
+ int32_t locavgbytespersec;
+ int64_t locsamples_per_unit;
+#ifdef LOG
locsize = _X_LE_32(&op->packet[13]);
loctime_unit = _X_LE_64(&op->packet[17]);
- locsamples_per_unit = _X_LE_64(&op->packet[25]);
- locdefault_len = _X_LE_32(&op->packet[33]);
locbuffersize = _X_LE_32(&op->packet[37]);
+ locdefault_len = _X_LE_32(&op->packet[33]);
+ locblockalign = _X_LE_16(&op->packet[47]);
+#endif
+ locsamples_per_unit = _X_LE_64(&op->packet[25]);
locbits_per_sample = _X_LE_16(&op->packet[41]);
locchannels = _X_LE_16(&op->packet[45]);
- locblockalign = _X_LE_16(&op->packet[47]);
locavgbytespersec= _X_LE_32(&op->packet[49]);
lprintf ("direct show filter created audio stream detected, hexdump:\n");
diff --git a/src/demuxers/asfheader.c b/src/demuxers/asfheader.c
index a78c84fd2..9810aead9 100644
--- a/src/demuxers/asfheader.c
+++ b/src/demuxers/asfheader.c
@@ -354,7 +354,7 @@ exit_error:
static int asf_header_parse_stream_extended_properties(asf_header_t *header, uint8_t *buffer, int buffer_len) {
asf_reader_t reader;
uint32_t flags = 0;
- uint16_t stream_number;
+ uint16_t stream_number = 0;
int i;
int stream_id;
asf_stream_extension_t *asf_stream_extension;
@@ -527,7 +527,7 @@ static int asf_header_parse_metadata(asf_header_t *header_pub, uint8_t *buffer,
for (i = 0; i < records_count; i++)
{
- uint16_t index, stream, name_len = 0, data_type;
+ uint16_t index, stream = 0, name_len = 0, data_type;
uint32_t data_len = 0;
int stream_id;
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c
index 186caa2fe..b33c83b18 100644
--- a/src/demuxers/demux_asf.c
+++ b/src/demuxers/demux_asf.c
@@ -512,13 +512,13 @@ static int asf_read_header (demux_asf_t *this) {
* XX bytes : optional palette
*/
uint32_t width, height;
- uint16_t bmiheader_size;
+ /*uint16_t bmiheader_size;*/
xine_bmiheader *bmiheader;
width = _X_LE_32(asf_stream->private_data);
height = _X_LE_32(asf_stream->private_data + 4);
/* there is one unknown byte between height and the bmiheader size */
- bmiheader_size = _X_LE_16(asf_stream->private_data + 9);
+ /*bmiheader_size = _X_LE_16(asf_stream->private_data + 9);*/
/* FIXME: bmiheader_size must be >= sizeof(xine_bmiheader) */
@@ -994,8 +994,10 @@ static int asf_parse_packet_ecd(demux_asf_t *this, uint32_t *p_hdr_size) {
/* return 0 if ok */
static int asf_parse_packet_payload_header(demux_asf_t *this, uint32_t p_hdr_size) {
+#ifdef LOG
int64_t timestamp;
int64_t duration;
+#endif
this->packet_len_flags = get_byte(this); p_hdr_size += 1;
this->packet_prop_flags = get_byte(this); p_hdr_size += 1;
@@ -1034,8 +1036,10 @@ static int asf_parse_packet_payload_header(demux_asf_t *this, uint32_t p_hdr_siz
this->packet_padsize = 0;
}
+#ifdef LOG
timestamp = get_le32(this); p_hdr_size += 4;
duration = get_le16(this); p_hdr_size += 2;
+#endif
lprintf ("timestamp=%"PRId64", duration=%"PRId64"\n", timestamp, duration);
@@ -1577,11 +1581,11 @@ static int demux_asf_parse_asx_references( demux_asf_t *this) {
ENTRYREF, MOREINFO, PARAM, REPEAT, TITLE
*/
- const char *base_href = NULL;
+ /*const char *base_href = NULL;*/
for (asx_entry = xml_tree->child; asx_entry; asx_entry = asx_entry->next)
{
- const char *ref_base_href = base_href;
+ /*const char *ref_base_href = base_href;*/
if (!strcasecmp (asx_entry->name, "ENTRY"))
{
@@ -1637,9 +1641,11 @@ static int demux_asf_parse_asx_references( demux_asf_t *this) {
duration = asx_get_time_value (asx_ref);
}
+#if 0
else if (!strcasecmp (asx_ref->name, "BASE"))
/* Attributes: HREF */
- ref_base_href = xml_parser_get_property (asx_entry, "HREF");
+ ref_base_href = xml_parser_get_property (asx_entry, "HREF");
+#endif
}
/* FIXME: prepend ref_base_href to href */
@@ -1657,9 +1663,11 @@ static int demux_asf_parse_asx_references( demux_asf_t *this) {
_x_demux_send_mrl_reference (this->stream, 0, href, NULL, 0, -1);
}
+#if 0
else if (!strcasecmp (asx_entry->name, "BASE"))
/* Attributes: HREF */
base_href = xml_parser_get_property (asx_entry, "HREF");
+#endif
}
}
else
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c
index af1c0aa7f..ae97b576e 100644
--- a/src/demuxers/demux_avi.c
+++ b/src/demuxers/demux_avi.c
@@ -732,8 +732,6 @@ static avi_t *XINE_MALLOC AVI_init(demux_avi_t *this) {
int lasttag = 0;
int vids_strh_seen = 0;
int vids_strf_seen = 0;
- int auds_strh_seen = 0;
- int auds_strf_seen = 0;
int num_stream = 0;
uint8_t data[256];
int strf_size;
@@ -898,7 +896,6 @@ static avi_t *XINE_MALLOC AVI_init(demux_avi_t *this) {
a->dwSampleSize = _X_LE_32(hdrl_data + i + 44);
a->audio_tot = 0;
- auds_strh_seen = 1;
lprintf("audio stream header, num_stream=%d\n", num_stream);
lasttag = 2; /* auds */
@@ -985,7 +982,6 @@ static avi_t *XINE_MALLOC AVI_init(demux_avi_t *this) {
AVI->audio[AVI->n_audio-1]->wavex = wavex;
AVI->audio[AVI->n_audio-1]->wavex_len = n;
lprintf("audio stream format\n");
- auds_strf_seen = 1;
}
} else if(strncasecmp(hdrl_data + i, "indx",4) == 0) {
@@ -1712,7 +1708,7 @@ static int demux_avi_next_streaming (demux_avi_t *this, int decoder_flags) {
int64_t audio_pts, video_pts;
off_t current_pos;
int left;
- int header, chunk_len, audio_stream;
+ int header, chunk_len = 0, audio_stream;
avi_audio_t *audio;
current_pos = this->input->get_current_pos(this->input);
diff --git a/src/demuxers/demux_iff.c b/src/demuxers/demux_iff.c
index 67392617b..f199723e1 100644
--- a/src/demuxers/demux_iff.c
+++ b/src/demuxers/demux_iff.c
@@ -689,7 +689,6 @@ static int demux_iff_send_chunk(demux_plugin_t *this_gen) {
int64_t zw_pts;
int64_t zw_rescale;
int j, k;
- int first_buf;
int interleave_index;
int size;
@@ -791,7 +790,6 @@ static int demux_iff_send_chunk(demux_plugin_t *this_gen) {
interleave_index = (current_file_pos *
this->audio_compression_factor);
}
- first_buf = 1;
zw_pts = current_file_pos;
diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c
index f9f0b23d5..32feacf28 100644
--- a/src/demuxers/demux_matroska.c
+++ b/src/demuxers/demux_matroska.c
@@ -1847,7 +1847,7 @@ static int parse_block (demux_matroska_t *this, size_t block_size,
uint64_t track_num;
uint8_t *data;
uint8_t flags;
- int gap, lacing, num_len;
+ int lacing, num_len;
int16_t timecode_diff;
int64_t pts, xduration;
int decoder_flags = 0;
@@ -1867,7 +1867,7 @@ static int parse_block (demux_matroska_t *this, size_t block_size,
lprintf("track_num: %" PRIu64 ", timecode_diff: %d, flags: 0x%x\n", track_num, timecode_diff, flags);
- gap = flags & 1;
+ /*gap = flags & 1;*/
lacing = (flags >> 1) & 0x3;
/*fprintf(stderr, "lacing: %x\n", lacing);*/
@@ -2050,6 +2050,13 @@ static int parse_block (demux_matroska_t *this, size_t block_size,
}
/* send each frame to the decoder */
for (i = 0; i <= lace_num; i++) {
+
+ if (headers_len) {
+ data -= headers_len;
+ xine_fast_memcpy(data, track->compress_settings, headers_len);
+ frame[i] += headers_len;
+ }
+
if (track->handle_content != NULL) {
track->handle_content((demux_plugin_t *)this, track,
decoder_flags,
@@ -2071,7 +2078,6 @@ static int parse_block (demux_matroska_t *this, size_t block_size,
static int parse_simpleblock(demux_matroska_t *this, size_t block_len, uint64_t cluster_timecode, uint64_t block_duration)
{
- int has_block = 0;
off_t block_pos = 0;
off_t file_len = 0;
int normpos = 0;
@@ -2086,7 +2092,6 @@ static int parse_simpleblock(demux_matroska_t *this, size_t block_len, uint64_t
if (!read_block_data(this, block_len, this->compress_maxlen))
return 0;
- has_block = 1;
/* we have the duration, we can parse the block now */
if (!parse_block(this, block_len, cluster_timecode, block_duration,
normpos, is_key))
diff --git a/src/demuxers/demux_mpc.c b/src/demuxers/demux_mpc.c
index 2988c9c19..6658e82bc 100644
--- a/src/demuxers/demux_mpc.c
+++ b/src/demuxers/demux_mpc.c
@@ -90,7 +90,7 @@ static int open_mpc_file(demux_mpc_t *this) {
/* TODO: non-seeking version */
if (INPUT_IS_SEEKABLE(this->input)) {
/* Check for id3v2 tag */
- if (id3v2_istag(this->header)) {
+ if (id3v2_istag(_X_BE_32(this->header))) {
lprintf("found id3v2 header\n");
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c
index 5d00742e5..cad841456 100644
--- a/src/demuxers/demux_mpeg_block.c
+++ b/src/demuxers/demux_mpeg_block.c
@@ -874,6 +874,7 @@ static int32_t parse_private_stream_1(demux_mpeg_block_t *this, uint8_t *p, buf_
} else if ((p[0]&0xf0) == 0xa0) {
int pcm_offset;
+#if 0
int number_of_frame_headers;
int first_access_unit_pointer;
int audio_frame_number;
@@ -881,6 +882,7 @@ static int32_t parse_private_stream_1(demux_mpeg_block_t *this, uint8_t *p, buf_
int sample_rate;
int num_channels;
int dynamic_range;
+#endif
/*
* found in http://members.freemail.absa.co.za/ginggs/dvd/mpeg2_lpcm.txt
@@ -888,6 +890,7 @@ static int32_t parse_private_stream_1(demux_mpeg_block_t *this, uint8_t *p, buf_
*/
track = p[0] & 0x0F;
+#if 0
number_of_frame_headers = p[1];
/* unknown = p[2]; */
first_access_unit_pointer = p[3];
@@ -912,6 +915,7 @@ static int32_t parse_private_stream_1(demux_mpeg_block_t *this, uint8_t *p, buf_
case 2: bits_per_sample = 24; break;
}
dynamic_range = p[6];
+#endif
/* send lpcm config byte */
buf->decoder_flags |= BUF_FLAG_SPECIAL;
diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c
index 8d1f4b8af..4d53b6d34 100644
--- a/src/demuxers/demux_mpeg_pes.c
+++ b/src/demuxers/demux_mpeg_pes.c
@@ -980,6 +980,7 @@ static int32_t parse_private_stream_1(demux_mpeg_pes_t *this, uint8_t *p, buf_el
} else if ((p[0]&0xf0) == 0xa0) {
int pcm_offset;
+#if 0
int number_of_frame_headers;
int first_access_unit_pointer;
int audio_frame_number;
@@ -987,13 +988,14 @@ static int32_t parse_private_stream_1(demux_mpeg_pes_t *this, uint8_t *p, buf_el
int sample_rate;
int num_channels;
int dynamic_range;
-
+#endif
/*
* found in http://members.freemail.absa.co.za/ginggs/dvd/mpeg2_lpcm.txt
* appears to be correct.
*/
track = p[0] & 0x0F;
+#if 0
number_of_frame_headers = p[1];
/* unknown = p[2]; */
first_access_unit_pointer = p[3];
@@ -1024,6 +1026,7 @@ static int32_t parse_private_stream_1(demux_mpeg_pes_t *this, uint8_t *p, buf_el
case 2: bits_per_sample = 24; break;
}
dynamic_range = p[6];
+#endif
/* send lpcm config byte */
buf->decoder_flags |= BUF_FLAG_SPECIAL;
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index 64422b9ad..47d18018e 100644
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -540,7 +540,7 @@ static void real_parse_headers (demux_real_t *this) {
lprintf("audio version %d detected\n", version);
- char *fourcc_ptr = "\0\0\0";
+ const char *fourcc_ptr = "\0\0\0";
switch(version) {
case 3:
/* Version 3 header stores fourcc after meta info - cheat by reading backwards from the
@@ -1251,7 +1251,7 @@ static int demux_real_send_chunk(demux_plugin_t *this_gen) {
buf->size = 0;
buf->type = this->video_stream->buf_type;
- xine_fast_memcpy(buf->decoder_info_ptr[2], this->fragment_tab,
+ xine_fast_memcpy(buf->content, this->fragment_tab,
this->fragment_count*8);
this->video_fifo->put(this->video_fifo, buf);
diff --git a/src/demuxers/demux_wc3movie.c b/src/demuxers/demux_wc3movie.c
index fbf2a7ce0..db115fe07 100644
--- a/src/demuxers/demux_wc3movie.c
+++ b/src/demuxers/demux_wc3movie.c
@@ -141,7 +141,6 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) {
demux_mve_t *this = (demux_mve_t *) this_gen;
buf_element_t *buf = NULL;
- int64_t text_pts = 0;
int64_t audio_pts = 0;
unsigned char preamble[PREAMBLE_SIZE];
unsigned int chunk_tag;
@@ -264,7 +263,7 @@ static int demux_mve_send_chunk(demux_plugin_t *this_gen) {
}
this->video_pts += WC3_PTS_INC;
} else if (chunk_tag == TEXT_TAG) {
- text_pts = this->video_pts - WC3_PTS_INC;
+ /*text_pts = this->video_pts - WC3_PTS_INC;*/
/* unhandled thus far */
this->input->seek(this->input, chunk_size, SEEK_CUR);
diff --git a/src/post/audio/stretch.c b/src/post/audio/stretch.c
index d56f23376..1f130eff8 100644
--- a/src/post/audio/stretch.c
+++ b/src/post/audio/stretch.c
@@ -643,7 +643,7 @@ static post_plugin_t *stretch_open_plugin(post_class_t *class_gen, int inputs,
pthread_mutex_init (&this->lock, NULL);
- set_parameters ((xine_post_t *)&this->post, &init_params);
+ set_parameters (&this->post.xine_post, &init_params);
port = _x_post_intercept_audio_port(&this->post, audio_target[0], &input, &output);
port->new_port.open = stretch_port_open;
diff --git a/src/post/audio/upmix_mono.c b/src/post/audio/upmix_mono.c
index 499856e69..7fb6c7bd9 100644
--- a/src/post/audio/upmix_mono.c
+++ b/src/post/audio/upmix_mono.c
@@ -315,7 +315,7 @@ static post_plugin_t *upmix_mono_open_plugin(post_class_t *class_gen, int inputs
pthread_mutex_init (&this->lock, NULL);
- set_parameters ((xine_post_t *)&this->post, &init_params);
+ set_parameters (&this->post.xine_post, &init_params);
port = _x_post_intercept_audio_port(&this->post, audio_target[0], &input, &output);
port->new_port.open = upmix_mono_port_open;
diff --git a/src/post/deinterlace/xine_plugin.c b/src/post/deinterlace/xine_plugin.c
index a1f9c6efd..3cce42400 100644
--- a/src/post/deinterlace/xine_plugin.c
+++ b/src/post/deinterlace/xine_plugin.c
@@ -395,7 +395,7 @@ static post_plugin_t *deinterlace_open_plugin(post_class_t *class_gen, int input
pthread_mutex_init (&this->lock, NULL);
- set_parameters ((xine_post_t *)&this->post, &class->init_param);
+ set_parameters (&this->post.xine_post, &class->init_param);
port = _x_post_intercept_video_port(&this->post, video_target[0], &input, &output);
/* replace with our own get_frame function */
@@ -437,6 +437,7 @@ static void deinterlace_dispose(post_plugin_t *this_gen)
if (_x_post_dispose(this_gen)) {
_flush_frames(this);
pthread_mutex_destroy(&this->lock);
+ free(this->tvtime);
free(this);
}
}
diff --git a/src/spu_dec/spudvb_decoder.c b/src/spu_dec/spudvb_decoder.c
index 66a3fcee9..518903e01 100644
--- a/src/spu_dec/spudvb_decoder.c
+++ b/src/spu_dec/spudvb_decoder.c
@@ -25,19 +25,21 @@
* - Implement support for teletext based subtitles
*/
-#include "pthread.h"
+#include <pthread.h>
#include <errno.h>
+
+/*#define LOG*/
+#define LOG_MODULE "spudvb"
+
#include <xine/xine_internal.h>
#include <xine/spu.h>
#include <xine/osd.h>
+
#define MAX_REGIONS 7
#define SPU_MAX_WIDTH 1920
#define SPU_MAX_HEIGHT 1080
-/*#define LOG*/
-#define LOG_MODULE "spudvb"
-
typedef struct {
int x, y;
unsigned char is_visible;
@@ -181,7 +183,6 @@ static void update_region (dvb_spu_decoder_t * this, int region_id, int region_w
dvbsub_func_t *dvbsub = this->dvbsub;
region_t *reg = &dvbsub->regions[region_id];
- page_t *page = &dvbsub->page;
/* reject invalid sizes and set some limits ! */
if ( region_width<=0 || region_height<=0 || region_width>SPU_MAX_WIDTH || region_height>SPU_MAX_HEIGHT ) {
@@ -730,7 +731,6 @@ static void process_object_data_segment (dvb_spu_decoder_t * this)
dvbsub_func_t *dvbsub = this->dvbsub;
- int j;
int old_i;
int r;
@@ -925,7 +925,6 @@ static void spudec_decode_data (spu_decoder_t * this_gen, buf_element_t * buf)
int new_i;
int data_identifier, subtitle_stream_id;
int segment_length, segment_type;
- int PES_header_data_length;
int PES_packet_length;
int i;
diff --git a/src/spu_dec/sputext_decoder.c b/src/spu_dec/sputext_decoder.c
index ae16cde37..0eb42d665 100644
--- a/src/spu_dec/sputext_decoder.c
+++ b/src/spu_dec/sputext_decoder.c
@@ -122,7 +122,7 @@ typedef struct sputext_class_s {
char font_ft[FILENAME_MAX]; /* subtitle font */
int use_font_ft; /* use Freetype */
#endif
- char *src_encoding; /* encoding of subtitle file */
+ const char *src_encoding; /* encoding of subtitle file */
int use_unscaled; /* use unscaled OSD if possible */
xine_t *xine;
diff --git a/src/vdr/input_vdr.c b/src/vdr/input_vdr.c
index 793d1b41b..53da46c51 100644
--- a/src/vdr/input_vdr.c
+++ b/src/vdr/input_vdr.c
@@ -33,6 +33,7 @@
#include <pthread.h>
#include <sys/socket.h>
+#include <netinet/in.h>
#include <resolv.h>
#include <netdb.h>
diff --git a/src/video_out/video_out_fb.c b/src/video_out/video_out_fb.c
index cfc5cf3a6..0d4376336 100644
--- a/src/video_out/video_out_fb.c
+++ b/src/video_out/video_out_fb.c
@@ -54,9 +54,6 @@
#include <sys/stat.h>
#include <fcntl.h>
-#include "xine.h"
-#include <xine/video_out.h>
-
#include <errno.h>
#include <sys/ipc.h>
@@ -84,6 +81,8 @@
#define LOG
*/
+#include "xine.h"
+#include <xine/video_out.h>
#include <xine/xine_internal.h>
#include "yuv2rgb.h"
#include <xine/xineutils.h>
diff --git a/src/video_out/video_out_opengl.c b/src/video_out/video_out_opengl.c
index 5d8b60651..d00a916e1 100644
--- a/src/video_out/video_out_opengl.c
+++ b/src/video_out/video_out_opengl.c
@@ -229,7 +229,7 @@ typedef void *(*thread_run_t)(void *);
typedef struct {
/* Name of render backend */
- char *name;
+ const char * const name;
/* Finally display current image (needed for Redraw) */
void (*display)(opengl_driver_t *, opengl_frame_t *);
/* Upload new image; Returns 0 if failed */
@@ -678,7 +678,7 @@ static int render_image_envtex (opengl_driver_t *this, opengl_frame_t *frame) {
/*
* Render setup functions
*/
-static int render_help_verify_ext (opengl_driver_t *this, char *ext) {
+static int render_help_verify_ext (opengl_driver_t *this, const char *ext) {
int ret = 0;
const size_t l = strlen (ext);
const char *e;
@@ -929,7 +929,7 @@ static int render_setup_torus (opengl_driver_t *this) {
static int render_setup_fp_yuv (opengl_driver_t *this) {
GLint errorpos;
int ret;
- static char *fragprog_yuv =
+ static const char *fragprog_yuv =
"!!ARBfp1.0\n"
"ATTRIB tex = fragment.texcoord[0];"
"PARAM off = program.env[0];"
@@ -1823,7 +1823,7 @@ static vo_driver_t *opengl_open_plugin (video_driver_class_t *class_gen, const v
config_values_t *config = class->xine->config;
x11_visual_t *visual = (x11_visual_t *) visual_gen;
opengl_driver_t *this;
- char **render_fun_names;
+ const char **render_fun_names;
int i;
this = (opengl_driver_t *) calloc(1, sizeof(opengl_driver_t));
diff --git a/src/video_out/video_out_xcbshm.c b/src/video_out/video_out_xcbshm.c
index abc1f8b73..eb211e75d 100644
--- a/src/video_out/video_out_xcbshm.c
+++ b/src/video_out/video_out_xcbshm.c
@@ -864,7 +864,7 @@ static int xshm_gui_data_exchange (vo_driver_t *this_gen,
break;
case XINE_GUI_SEND_DRAWABLE_CHANGED:
- this->window = (xcb_window_t) data;
+ this->window = (xcb_window_t) (long) data;
pthread_mutex_lock(&this->main_mutex);
xcb_free_gc(this->connection, this->gc);
diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c
index a07864e8e..f098ceed8 100644
--- a/src/video_out/video_out_xcbxv.c
+++ b/src/video_out/video_out_xcbxv.c
@@ -826,7 +826,7 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
case XINE_GUI_SEND_DRAWABLE_CHANGED:
pthread_mutex_lock(&this->main_mutex);
- this->window = (xcb_window_t) data;
+ this->window = (xcb_window_t) (long) data;
xcb_free_gc(this->connection, this->gc);
this->gc = xcb_generate_id(this->connection);
xcb_create_gc(this->connection, this->gc, this->window, 0, NULL);
@@ -973,9 +973,9 @@ static int xv_check_yv12(xcb_connection_t *connection, xcb_xv_port_t port) {
static void xv_check_capability (xv_driver_t *this,
int property, xcb_xv_attribute_info_t *attr,
int base_id,
- char *config_name,
- char *config_desc,
- char *config_help) {
+ const char *config_name,
+ const char *config_desc,
+ const char *config_help) {
int int_default;
cfg_entry_t *entry;
const char *str_prop = xcb_xv_attribute_info_name(attr);
@@ -1218,8 +1218,8 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis
if (xv_port != 0) {
if (! xv_open_port(this, xv_port)) {
xprintf(class->xine, XINE_VERBOSITY_NONE,
- _("%s: could not open Xv port %d - autodetecting\n"),
- LOG_MODULE, xv_port);
+ _("%s: could not open Xv port %lu - autodetecting\n"),
+ LOG_MODULE, (unsigned long)xv_port);
adaptor_it = adaptor_first;
xv_port = xv_autodetect_port (this, &adaptor_it, xv_port, prefer_type);
} else
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 675575e80..5dfc2c34e 100644
--- a/src/video_out/video_out_xshm.c
+++ b/src/video_out/video_out_xshm.c
@@ -34,9 +34,6 @@
#include <string.h>
#include <math.h>
-#include "xine.h"
-#include <xine/video_out.h>
-
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
@@ -63,6 +60,8 @@
#define LOG
*/
+#include "xine.h"
+#include <xine/video_out.h>
#include <xine/xine_internal.h>
#include "yuv2rgb.h"
#include <xine/xineutils.h>
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 59ba3cbfe..edff2905a 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.c
@@ -1262,8 +1262,8 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void *
if (xv_port != 0) {
if (! xv_open_port(this, xv_port)) {
xprintf(class->xine, XINE_VERBOSITY_NONE,
- _("%s: could not open Xv port %d - autodetecting\n"),
- LOG_MODULE, xv_port);
+ _("%s: could not open Xv port %lu - autodetecting\n"),
+ LOG_MODULE, (unsigned long)xv_port);
xv_port = xv_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, xv_port, prefer_type);
} else
adaptor_num = xv_find_adaptor_by_port (xv_port, adaptors, adaptor_info);
diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c
index f3321e929..3158840a0 100644
--- a/src/video_out/video_out_xvmc.c
+++ b/src/video_out/video_out_xvmc.c
@@ -783,7 +783,7 @@ static void xvmc_update_frame_format (vo_driver_t *this_gen,
frame->ratio = ratio;
}
- xvmc->macroblocks = (xine_macroblocks_t *)&this->macroblocks;
+ xvmc->macroblocks = &this->macroblocks.xine_mc;
this->macroblocks.num_blocks = 0;
this->macroblocks.macroblockptr = this->macroblocks.macroblockbaseptr;
this->macroblocks.xine_mc.blockptr =
diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c
index e35ce5f12..14fcbce97 100644
--- a/src/video_out/video_out_xxmc.c
+++ b/src/video_out/video_out_xxmc.c
@@ -2494,8 +2494,8 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi
if (xv_port != 0) {
if (! xxmc_open_port(this, xv_port)) {
xprintf(class->xine, XINE_VERBOSITY_NONE,
- _("%s: could not open Xv port %d - autodetecting\n"),
- LOG_MODULE, xv_port);
+ _("%s: could not open Xv port %lu - autodetecting\n"),
+ LOG_MODULE, (unsigned long)xv_port);
xv_port = xxmc_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, xv_port, prefer_type);
} else
adaptor_num = xxmc_find_adaptor_by_port (xv_port, adaptors, adaptor_info);
diff --git a/src/xine-engine/configfile.c b/src/xine-engine/configfile.c
index 924fbe02a..b334dfaa5 100644
--- a/src/xine-engine/configfile.c
+++ b/src/xine-engine/configfile.c
@@ -352,7 +352,7 @@ static void config_remove(config_values_t *this, cfg_entry_t *entry, cfg_entry_t
prev->next = entry->next;
}
-static char *config_xlate_internal (const char *key, const xine_config_entry_translation_t *trans)
+static const char *config_xlate_internal (const char *key, const xine_config_entry_translation_t *trans)
{
--trans;
while ((++trans)->old_name)
@@ -1284,7 +1284,6 @@ static char* config_get_serialized_entry (config_values_t *this, const char *key
int str_default_len = 0;
int description_len = 0;
int help_len = 0;
- unsigned long output_len;
unsigned long total_len;
int value_count;
int value_len[10];
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index bbe5f0910..8189592ba 100644
--- a/src/xine-engine/load_plugins.c
+++ b/src/xine-engine/load_plugins.c
@@ -2121,7 +2121,7 @@ video_decoder_t *_x_get_video_decoder (xine_stream_t *stream, uint8_t stream_typ
vd = ((video_decoder_class_t *)node->plugin_class)->open_plugin(node->plugin_class, stream);
- if (vd == 1) {
+ if (vd == (video_decoder_t*)1) {
/* HACK: plugin failed to instantiate because required resources are unavailable at that time,
but may be available later, so don't remove this plugin from catalog. */
xprintf(stream->xine, XINE_VERBOSITY_DEBUG,
@@ -2631,7 +2631,7 @@ void xine_post_dispose(xine_t *xine, xine_post_t *post_gen) {
* @param joining String to use to join the various strings together.
* @param final_length The pre-calculated final length of the string.
*/
-static char *_x_concatenate_with_string(char const **strings, size_t count, char *joining, size_t final_length) {
+static char *_x_concatenate_with_string(char const **strings, size_t count, const char *joining, size_t final_length) {
size_t i;
char *const result = malloc(final_length+1); /* Better be safe */
char *str = result;
@@ -2780,7 +2780,7 @@ static void dispose_plugin_list (xine_sarray_t *list, int is_cache) {
case PLUGIN_VIDEO_DECODER:
decoder_info = (decoder_info_t *)node->info->special_info;
- free (decoder_info->supported_types);
+ free ((void *)decoder_info->supported_types);
default:
free ((void *)node->info->special_info);
@@ -2788,7 +2788,7 @@ static void dispose_plugin_list (xine_sarray_t *list, int is_cache) {
}
/* free info structure and string copies */
- free (node->info->id);
+ free ((void *)node->info->id);
free (node->info);
/* don't free the entry list if the node is cache */
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index d3a75623b..2a67d89b5 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -2026,7 +2026,7 @@ static int _x_get_current_frame_data (xine_stream_t *stream,
int flags, int img_size_unknown) {
vo_frame_t *frame;
- size_t required_size;
+ size_t required_size = 0;
stream->xine->port_ticket->acquire(stream->xine->port_ticket, 0);
frame = stream->video_out->get_last_frame (stream->video_out);
diff --git a/src/xine-utils/memcpy.c b/src/xine-utils/memcpy.c
index 515919a41..f90ab275a 100644
--- a/src/xine-utils/memcpy.c
+++ b/src/xine-utils/memcpy.c
@@ -53,6 +53,7 @@
*/
#include <xine/xine_internal.h>
+#include "../xine-engine/xine_private.h"
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len);
diff --git a/src/xine-utils/xmllexer.c b/src/xine-utils/xmllexer.c
index 4e72ba57c..a3b395a46 100644
--- a/src/xine-utils/xmllexer.c
+++ b/src/xine-utils/xmllexer.c
@@ -96,11 +96,12 @@ void lexer_init(const char * buf, int size) {
static_lexer = lexer_init_r(buf, size);
}
-static enum {
+
+enum {
NORMAL,
DATA,
CDATA,
-} lex_mode = NORMAL;
+};
struct lexer *lexer_init_r(const char * buf, int size) {
static const char boms[] = { 0xFF, 0xFE, 0, 0, 0xFE, 0xFF },
diff --git a/src/xine-utils/xmlparser.c b/src/xine-utils/xmlparser.c
index 8619b1be8..deee2550f 100644
--- a/src/xine-utils/xmlparser.c
+++ b/src/xine-utils/xmlparser.c
@@ -855,7 +855,7 @@ static void xml_parser_dump_node (const xml_node_t *node, int indent) {
free (value);
p = p->next;
if (p) {
- printf ("\n%*s", indent+2+l, "");
+ printf ("\n%*s", indent+2+(int)l, "");
}
}
printf (">\n");