summaryrefslogtreecommitdiff
path: root/src/xine-engine/metronom.c
AgeCommit message (Collapse)Author
2010-01-14Merge.Darren Salt
2010-01-14Backed out changeset fd48f5a5841d (discontinuity handling for short streams ↵Darren Salt
+ gapless).
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-04-25Merge -gapless branch.Darren Salt
2009-04-25Revert indentation changes.Darren Salt
2008-05-23Mark initialisation functions with malloc attribute.Diego 'Flameeyes' Pettenò
All the initialisation functions returning a new object instance that was allocated through malloc() or calloc() can get the malloc attribute so that the compiler can optimise their call.
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
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
2008-01-10Fixed buggy discontinuity handling when playing short streams and using the ↵Thibaut Mattern
gapless switch. The current time should not be used here.
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-02-20Fix a lot of format warnings in lprintf calls (mostly %ldd -> %"PRId64").Diego 'Flameeyes' Pettenò
CVS patchset: 8608 CVS date: 2007/02/20 00:34:55
2006-01-27Fix a typo and output the PTS value (as for other, nearby, metronome messages).Darren Salt
[Reinhard Nissl] CVS patchset: 7853 CVS date: 2006/01/27 22:35:07
2005-06-29- typo in the metronom start, spotted by Mathieu Routhier ↵Bastien Nocera
<mrouthier@encentrus.com> CVS patchset: 7635 CVS date: 2005/06/29 20:54:34
2004-10-29use monotonic clock when availableMiguel Freitas
CVS patchset: 7087 CVS date: 2004/10/29 23:11:37
2004-08-02no objections so far: committing the fine speed control patchMiguel Freitas
(in case of major trouble just revert the patch i sent to xine-devel) CVS patchset: 6871 CVS date: 2004/08/02 12:51:07
2004-06-19force slave metronoms to reinit when a new master is attached; otherwise aMichael Roitzsch
visualization plugin's metronom gets confused when you wire different streams to the plugin's input CVS patchset: 6710 CVS date: 2004/06/19 19:51:25
2004-04-22This patch allows the engine to handle frames with duration=0.Thibaut Mattern
This is usefull when the format does'nt contain a frame rate / duration info like the ASF format. See this thread for more details: http://thread.gmane.org/gmane.comp.video.xine.devel/8387 CVS patchset: 6426 CVS date: 2004/04/22 23:19:03
2004-04-09improving precision of audio vpts calculation, the comment in metronom.c ↵Michael Roitzsch
explains CVS patchset: 6363 CVS date: 2004/04/09 15:06:02
2004-02-19Mandrake patches fromRocky Bernstein
http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/xine-lib/ via Goetz Waschk who reports: The amd64 patch (xine-lib-1-rc0a-amd64.patch) sets some conservative CFLAGS for amd64, the lib64 patch (xine-lib-1-rc0a-lib64.patch) replaces hardcoded /lib to support the lib64 library dir on amd64, the directfb patch (xine-lib-1-rc2-no-directfb.patch) adds a configure option to disable directfb, the linuxfb patch (xine-lib-1-rc3a-no-linuxfb.patch) does the same for linux framebuffer and the 64bit fixes patch (xine-lib-1-rc3-64bit-fixes.patch) doesn't apply at the moment against the CVS -- demux_ogg.c was not applied. it includes some 64 bit pointer and other fixes for 64bit architectures. from Gwenole Beauchesne I haven't tested other than apply and compile. CVS patchset: 6174 CVS date: 2004/02/19 02:50:24
2004-02-16fix freezes with input plugins that play with the speed:uid86226
* use _x_set_speed() for speed manipulations, since it is ticket-safe * _x_set_speed() is an internal helper function now, move frontend locking outside of it * restrict access to metronom clock internal stuff CVS patchset: 6165 CVS date: 2004/02/16 20:19:09
2004-01-18this header is not neededMichael Roitzsch
CVS patchset: 6054 CVS date: 2004/01/18 18:17:55
2003-12-29better initialization of slave metronom should fix problems with ogg and goomMichael Roitzsch
CVS patchset: 5956 CVS date: 2003/12/29 16:26:57
2003-12-05cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's ↵Daniel Caujolle-Bert
relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued... CVS patchset: 5844 CVS date: 2003/12/05 15:54:56
2003-11-26xprintf clean pass. xprintf now log into new XINE_LOG_TRACE log buffer. ↵Daniel Caujolle-Bert
scratch buffer enhancement (thanks Thibaut for the malloc tips), enlarge log buffer from 25 lines (very useless), to 150 (better). CVS patchset: 5801 CVS date: 2003/11/26 23:44:08
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-20"Anti audio fifo null" patch ;)Thibaut Mattern
Makes things a bit more symetric: - the audio fifo (demuxer->decoder) can't be NULL - the video driver can be NULL A dummy fifo (5 buffers) is used if the audio driver or video driver is NULL. Audio frontends (rhythmbox, seedeexeen, quark) do not need to instanciate a video driver anymore. CVS patchset: 5767 CVS date: 2003/11/20 00:42:14
2003-11-16Now isn't that amazing? xine-lib actually compiles with the metronomMichael Roitzsch
internals hidden! We are good! ;) CVS patchset: 5754 CVS date: 2003/11/16 15:44:03
2003-11-16introduce the slave metronom concept (Thibaut, Miguel: it's a bit differentMichael Roitzsch
from what we discussed, details on xine-devel) metronom holds a master metronom pointer now and uses this master to match its syncing CVS patchset: 5742 CVS date: 2003/11/16 12:15:21
2003-11-15* making metronom xine_stream_t independentMichael Roitzsch
* using xprintf() and lprintf() inside metronom * prebuffer is now a metronom option * some small structure cleanup CVS patchset: 5737 CVS date: 2003/11/15 20:43:11
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-31metronom patch from Thibaut:Michael Roitzsch
* refactor discontinuity handling to make it more readable * straightforward logic fixes some problems with discontinuities in audio only streams CVS patchset: 5653 CVS date: 2003/10/31 17:41:07
2003-10-15Revert the bad fix.Thibaut Mattern
CVS patchset: 5527 CVS date: 2003/10/15 21:57:02
2003-10-14Fix DISC_ABSOLUTE (and DISC_RELATIVE) for audio only streams.Thibaut Mattern
this->vpts_offset was computed using this->video_vpts (and not this->audio_vpts) but no video frames are generated when playing an audio only stream, this->video_vpts and this->audio_vpts are really different in this case. This patch aligns this->video_vpts and this->audio_vpts to the max. These values were already aligned for DISC_STREAMSTART and DISC_STREAMSEEK. Miguel, Michael: do you know why it was not done for DISC_ABSOLUTE ? ok, slap me if it's completely stupid. CVS patchset: 5521 CVS date: 2003/10/14 22:48:00
2003-09-15Improve liba52 PTS processing.James Courtier-Dutton
CVS patchset: 5381 CVS date: 2003/09/15 04:02:45
2003-09-13fix for duplicated pts by Simon Truss <simon@bigblue.demon.co.uk>Miguel Freitas
CVS patchset: 5363 CVS date: 2003/09/13 15:31:53
2003-07-12- adding support for the Intel compiler iccMichael Roitzsch
- general multipass compilation make targets CVS patchset: 5149 CVS date: 2003/07/12 12:31:13
2003-05-15add broadcasterMiguel Freitas
CVS patchset: 4857 CVS date: 2003/05/15 20:23:16
2003-05-06Thibaut asked me to revert his latest patchMiguel Freitas
also set some more reasonable defaults for frame skipping (12000 pts prebuffering, at least 2 frames in advance to not skip). CVS patchset: 4786 CVS date: 2003/05/06 20:50:11
2003-05-05Do not use pts from bad frames in the metronom and in the video_loop.Thibaut Mattern
This prevents to drop 1-5 frames just after a seek. Now seeking is really smooth and sync is allways perfect ;) CVS patchset: 4775 CVS date: 2003/05/05 22:29:30
2003-04-07enough of this. too much messages confuses users...Miguel Freitas
CVS patchset: 4560 CVS date: 2003/04/07 01:28:43
2003-03-27- demux_avi: do not set input_pos/time on audio buffers. otherwise ↵Miguel Freitas
non-interlaved or bad interleaved files show slider problems - make metronom prebuffer configurable. see metronom.h for comments. CVS patchset: 4501 CVS date: 2003/03/27 18:56:54
2003-03-06steps toward muting xine's console output by defaultGuenter Bartsch
CVS patchset: 4345 CVS date: 2003/03/06 16:49:30
2003-02-28Xine assert() replacement:Stephen Torri
All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: <filename>:<function name>:<line number> - assertion '<assertion expression>' failed. <description> An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47
2003-01-28show 'spu_offset' when spu offset is changedDaniel Caujolle-Bert
CVS patchset: 4024 CVS date: 2003/01/28 17:07:53
2003-01-13- add option to adjust spu sync (works for both dvd and external subtitles)Miguel Freitas
- implement some master/slave stuff - implement subtitle mrl: xine movie.mpg#subtitle:whatever.sub CVS patchset: 3887 CVS date: 2003/01/13 02:15:07
2003-01-11brand-new external subtitles support. (yes, it works!)Miguel Freitas
tested with asf, avi and mpeg but any media should work. todo: - clean up the master/slave stuff and public api. - implement seeking on demux_sputext.c (it must seek to closest subtitle) - general cleaning up and bugfixing CVS patchset: 3860 CVS date: 2003/01/11 03:47:01
2002-12-23ok, seeking should like to have good vpts too.Miguel Freitas
CVS patchset: 3645 CVS date: 2002/12/23 10:03:50
2002-12-23adjust audio_vpts and video_vpts on start so they don't stay much aheadMiguel Freitas
in the future (it would delay the playback of a new stream). CVS patchset: 3642 CVS date: 2002/12/23 00:51:31
2002-12-13metronom fix/improvement/simplification:Michael Roitzsch
do not align audio and video vpts on discontinuity, this finally makes multiangle DVDs play smooth with my DXR3 CVS patchset: 3508 CVS date: 2002/12/13 16:47:41
2002-11-30just now i realized the wrong underlying assumption i did in metronom: fixingMiguel Freitas
audio drift the same way i did for video doesn't work, since sound card won't play it slower or faster because of the vpts's. with this patch i hope to have definitely separated the 2 sources of audio drift: (1) nominal sample rate discrepancy to stream pts, (2) sound card drift to system clock. - revert feedback audio loop - updated metronom's audio drift - always do a full gap filling if needed CVS patchset: 3392 CVS date: 2002/11/30 22:09:42