Age | Commit message (Collapse) | Author |
|
|
|
Instead of creating strings through a series os string copy and
concatenations, use directly the appropriate printf-like function.
|
|
Whenever an allocated memory area is immediately filled in with a
string through strcpy() or strncpy(), replace the calls with the
appropriate strn?dup().
|
|
Instead of calling sprintf or snprintf with a "%s" format string, use
the proper strcpy, strncpy, strdup or strndup function.
|
|
There is no need to check if a pointer is not NULL before freeing it,
so just call free() during MRL_FREE.
During duplication, always prefer freeing and recreating to
reallocating, as that would probably take more time than would
actually be needed to allocate a new memory area. Also, most likely
the duplication will happen on a new instance.
|
|
Using asprintf() instead of malloc() + sprintf() reduces the lines of
code in xine-lib (moving the allocation to the C library or asprintf
replacement), makes it safer to access the string and can also improve
performance whenever the value returned by a function was used as
parameter, as before it had to run the function twice in almost every
case (once for strlen(), once for sprintf()).
|
|
|
|
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.
With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().
malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.
--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
|
|
|
|
When we're including xine/attributes.h but we're not building xine,
define the support for particular attributes based on the compiler and
its version. This way semantic information is maintained outside
xine's build (such as deprecated functions).
|
|
Functions and data structures that are not exported and are only ever
used in the same unit they are defined should be marked static to
improve compiler's ability to optimise them.
This applies to xine_dispose_internal() function for xine-lib, the
extended_to_int() function in the AIFF demuxer, the bandwidths array
in QuickTime demuxer, the wc_pal_lookup table in the WC3 movie
demuxer, and the rm_header and pnm_data_header arrays in pnm input
plugin.
|
|
The xine_check.h header is not currently installed and the symbols are
not exported, their are only ever used in the same unit they are
defined.
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
|
|
|
|
Internal visibility can improve optimisation on some architectures,
but functions need not to be taken the pointer of when using internal
visibility. For this reason only a subset of xine-lib's functions
should be marked as such.
|
|
|
|
|
|
functions that are now hidden from xine_internal.h to xine_private.h.
|
|
rather than just checking for GCC 3.
|
|
|
|
used for legacy flac.
|
|
|
|
|
|
|
|
generic one to access them.
|
|
|
|
|
|
_x_cahce_plugin_get_instance.
|
|
|
|
|
|
Occasionally when playing h264-encoded files, green blocks will appear
at the edges of the frame, and get smeared around (following the motion
vectors, of course). This bug has existing in Xine for well over a
year, and I keep hoping it will be fixed, but it never was.
I recently learned that gstreamer had a similar problem and it was fixed
last year. With this as a hint, I found
http://bugzilla.gnome.org/show_bug.cgi?id=364139 and the patch attached
to that bug.
I've adapted that patch to xine, and it is attached. I have compared
clips before and after applying this patch, and in all cases the green
artifacts have gone away, and I have seen no negative side effects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--HG--
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c
|
|
1.2 series.
|
|
--HG--
rename : debian/libxine1.install => debian/libxine2.install
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
|
|
--HG--
extra : transplant_source : %80%19%15%EAL%B3%1EAl%11RF%E7%BB%7FHa%2A%C5%1A
|
|
|
|
On some m4a files I get a divide by zero.
bytes_per_packet in this case is zero. I'm not sure what the real problem is
but skipping the assignment in that case works fine.
|
|
|
|
|
|
|
|
put the volume to zero.
|
|
|
|
--HG--
rename : include/xine.h.in => include/xine.h
|