Age | Commit message (Collapse) | Author |
|
show() in osd.c uses realloc in an effort to minimise the amount of
memory actually used for rle objects. In practice, this caused xine to
fragment memory, and gradually use more and more RAM (measured over a
period of 24 to 72 hours).
Change osd.c to allocate the maximum amount of memory it could need;
because it touches this memory in a linear fashion, lazy page allocation
will ensure that most of the memory used is needed. Further, because
this makes the per-drawing allocations the same size, it avoids virtual
address space fragmentation.
|
|
When running DVB subtitles for a long period of time (over 24 hours), we
noticed a slow leak of memory. This patch removes one cause of leakage
for us.
|
|
When using DVB subtitles on an SMP machine, we see occasional lockups, which
appear to be caused by one thread acquiring the same ticket twice. Fix this,
by preventing acquire() and release() from blocking if the current thread has
already acquired the ticket.
Code sequences like the following can still block in all acquires and
releases:
ticket->acquire(...)
/* Do something */
ticket->release(...)
However, code sequences like the following, which used to deadlock if ticket
was revoked at just the wrong moment, now succeed:
ticket->acquire(...)
/* Do something */
ticket->acquire(...) /* This acquire cannot block */
/* Do something */
ticket->release(...) /* This release cannot block */
/* Do something */
ticket->release(...)
Without this patch, the inner acquire() and release() calls could block if
ticket was revoked at the wrong time. revoke() would not unblock the blocking
acquire until there have been as many release()s as acquire()s, which cannot
happen.
|
|
|
|
|
|
|
|
|
|
of the file.
|
|
Solaris definitions (1.2 branch commit).
|
|
Solaris definitions.
|
|
|
|
|
|
|
|
|
|
Hopefully, I've applied all of the $(LTLIBINTL) changes correctly...
|
|
Intent is to allow front ends to rename their old, badly-named, config items.
|
|
|
|
|
|
read() function, and declare a new buf variable in the function as needed.
|
|
--HG--
extra : transplant_source : %DFs%84N%8AG%00%5B%EFv%FF%E6%CD%93%23%D8%E6%A1%C2%18
|
|
|
|
|
|
close the driver on a return value <0
|
|
|
|
close the driver on a return value <0
|
|
|
|
|
|
-- Revisit NLS stuff. Not much changed, remove the REVISIT tag
-- Change XDG_BASEDIR_CFLAGS to XDG_BASEDIR_CPPFLAGS, because it only includes
a -I, which is a CPPFLAGS option, not CFLAGS
-- Move XDG stuff up to library checks
-- Cleanup and move zlib checks
-- Move X11 checks up to checks for system services
-- Break audio out plugin stuff into m4/audio_out.m4
-- Break video out plugin stuff into m4/video_out.m4
-- Move libdir name stuff into m4/libFLAC.m4 since that's the only thing that
uses it.
|
|
|
|
|
|
|
|
|
|
-- Removed m4/optimizations.m4, and along with it, AC_OPTIMIZATIONS.
-- Stripped down, cleaned up, and merged the former together with other compiler
characteristic checks.
-- Do not set any optimization flags into CFLAGS. Update all Makefile.am's with
proper AM_CFLAGS, AM_CPPFLAGS, AM_LDFLAGS, etc. to set up optimization flags,
usually from DEFAULT_OCFLAGS.
-- Start cleaning up CFLAGS/CPPFLAGS stuff in Makefile.am's all over the place.
-- Correct a number of places where CFLAGS itself was being mangled in
Makefile to on-the-fly adjust optimizations to work around compiler bugs.
This stuff is now done correctly.
-- The run of automake from autogen.sh is now clean of warnings.
-- Cleaned out some (now) dead macros from m4/_xine.m4
-- Mac OS X intel builds out-of-the-box now -- dropped optimization on
post/deinterlace/plugins/kdetv-greedyh to O1_CFLAGS.
-- OBJCFLAGS is now getting set correctly everywhere that it needs to be
-- Various other miscellaneous cleanups all over
|
|
|
|
when we want to run until the timeout has occurred, partially fixes
Totem's browser plugin playing back browser streams with the xine-lib
backend
See http://bugzilla.gnome.org/show_bug.cgi?id=375866 for details
|
|
|
|
|
|
|
|
Remove unused x_odd parameter from blend_???_exact functions
|
|
|
|
once.
This way, it avoids to calculate the multiplication in the for loops and in the
memset() call.
|
|
by not exporting them.
|
|
|
|
This fixes reported alignment issues on ARM.
(We could require correct alignment on some architectures, but this is easier.)
|
|
- validate palette alpha values in overlay manager
(one check / overlay / palette index) instead of
checking every alpha value twice for every
blended pixel in every frame
- remove unneeded calculations
- approximiate expensive integer divisions with
multiplication and shift
|
|
|
|
|
|
redrawing.
While splitting my original big patch set, I've lost three lines.
This change will make xine-lib compile again.
|
|
The original number of OSD objects was 5 which served xine-lib's
needs. VDR may on it's own allocate up to 16 OSD objects and thus
there may be no more OSD objects left for xine-lib's needs.
The change addresses this by increasing the current number by 5.
|
|
These functions are likely to be removed later when more correct
solutions have been found.
|