summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_decoder.c
AgeCommit message (Collapse)Author
2004-07-06fix a long standing bug: streams were not played till their very end, becauseMiguel Freitas
finished event was sent to frontend before the output fifos were empty. add a test for the number of streams attached to the output port. this will prevent deadlocking on multi-streams scenarios where fifos don't ever get empty. CVS patchset: 6777 CVS date: 2004/07/06 22:53:22
2004-04-26help strings added for all remaining config entries (so I hope)Michael Roitzsch
please everybody watch out for spelling (and other) errors CVS patchset: 6442 CVS date: 2004/04/26 17:50:06
2004-04-08make that a define to improve maintainabilityxine_1-rc3c-release1-rc3cMichael Roitzsch
CVS patchset: 6350 CVS date: 2004/04/08 13:37:54
2004-04-08Degrease jerking with OGM subtitles.František Dvořák
CVS patchset: 6348 CVS date: 2004/04/08 11:10:10
2004-04-07Michael's patch for improving playback with subtitles, fix the long seeking.František Dvořák
CVS patchset: 6342 CVS date: 2004/04/07 18:10:20
2004-03-28move the ticket acquire/release deeper inside the decoder loopsMichael Roitzsch
(buf->free_buffer() for example must not be called with a ticket held, since it can block, when the demuxer triggered nbc, which will occupy the fifo lock) CVS patchset: 6312 CVS date: 2004/03/28 19:51:56
2004-03-03use the _x_abort() macro instead of abort, since it prints some debug infoMichael Roitzsch
before aborting CVS patchset: 6211 CVS date: 2004/03/03 20:09:11
2004-02-12big commit of the new ticket system to protect the rewiring and moreMichael Roitzsch
(as discussed on xine-devel, slightly improved to block acquires from different threads between atomic revoke and issue) * xine_ticket_t is declared in xine_internal.h and implemented in xine.c * the ticket is acquired for (hopefully) all port operations (no modifications to decoders needed, decoder loop does this) * the ticket is revoked on pausing and on rewiring * OSD does not store the port pointer any more (which was very dangerous, since the pointer can change on rewire) CVS patchset: 6137 CVS date: 2004/02/12 18:19:00
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-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-16New stream/meta info (safe) stuff.Daniel Caujolle-Bert
BIG NOTE: use helpers to access to these informations (get/set/reset): _x_{stream,meta}_info_{get,set,reset}() are for internal use, don't use *_public() ones from inside the beast ;-) Some wrongly names "xine_" fonction renaming. CVS patchset: 5757 CVS date: 2003/11/16 23:33:42
2003-11-16actually not every engine file uses internals, so we do not need to defineMichael Roitzsch
XINE_ENGINE_INTERNAL for every file CVS patchset: 5753 CVS date: 2003/11/16 15:41:15
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-07-27- removed xine-engine/locale.c as it is unused, fix static functions in theBastien Nocera
engine and the utils, removed unused variables CVS patchset: 5219 CVS date: 2003/07/27 12:47:23
2003-06-22some additional pthread_*_destroy() callsMichael Roitzsch
(based on the implementation, this might fix memleaks on some platforms, although I doubt that this is the case here) CVS patchset: 5091 CVS date: 2003/06/22 17:10:41
2003-04-27fixing selection of spu titlesAndreas Heinchen
CVS patchset: 4698 CVS date: 2003/04/27 15:56:45
2003-04-02- remove unneeded use of pthread_exit(NULL). We do not have any cleanupBastien Nocera
handlers, so we can just use "return NULL" instead. CVS patchset: 4533 CVS date: 2003/04/02 12:28:08
2003-03-25- allow on-the-fly rewiring of streams outputMichael Roitzsch
- add missing destruction of some pthread structs - do not init streams_lock twice CVS patchset: 4479 CVS date: 2003/03/25 12:52:32
2003-03-07workaround buggy pthread implementations with a timedwaitMiguel Freitas
(thanks Ewald) CVS patchset: 4358 CVS date: 2003/03/07 15:29:30
2003-03-06- less verbosity, thanks GuenterBastien Nocera
CVS patchset: 4349 CVS date: 2003/03/06 23:30:36
2003-02-21make number of video buffers user-configurableGuenter Bartsch
CVS patchset: 4223 CVS date: 2003/02/21 01:13:55
2003-02-18sorry, private modifications...Michael Roitzsch
CVS patchset: 4196 CVS date: 2003/02/18 18:38:55
2003-02-18fix problem with not appearing still frames on DVDsMichael Roitzsch
(detailed problem description: since the flush is asynchroneous now and stillframes will only show up, when flushed out of libmpeg2, problems arise on stills with audio, where the video decoder waits for an audio discontinuity, which is all the way down on the bottom of the audio fifo; video_out can now put flush requests on the video fifo, but they won't get processed) CVS patchset: 4194 CVS date: 2003/02/18 18:35:02
2003-02-16bigger buffers for smoother playbackGuenter Bartsch
CVS patchset: 4174 CVS date: 2003/02/16 19:55:16
2003-02-01adding flush-mode so seek() and play() work for video processing (enix)Guenter Bartsch
CVS patchset: 4080 CVS date: 2003/02/01 19:22:30
2003-01-14move default handled flag to xine.c. this fixes false alarm with -A null.Miguel Freitas
CVS patchset: 3909 CVS date: 2003/01/14 00:10:28
2003-01-09- can't use HAS_VIDEO/HAS_AUDIO at this stage because some demuxers will onlyMiguel Freitas
set it on send_headers. also daniel convinced me that xine does "handle a no audio stream" - fix audio_out.c to abort filling with zero on seeking/stop/quit. CVS patchset: 3840 CVS date: 2003/01/09 02:44:39
2003-01-09handled/unhandled fixes. now it should work for dvd too.Miguel Freitas
CVS patchset: 3839 CVS date: 2003/01/09 01:09:57
2003-01-08fixes/cleanups of the handled/unhandled codecsMiguel Freitas
for more information see message on xine-devel CVS patchset: 3818 CVS date: 2003/01/08 01:02:27
2002-12-31kill unused variableMichael Roitzsch
CVS patchset: 3734 CVS date: 2002/12/31 11:35:14
2002-12-27This should be more compatible with spu decoder pluginsEwald Snel
CVS patchset: 3701 CVS date: 2002/12/27 22:54:44
2002-12-27Fix 'XINE_STREAM_INFO_MAX_SPU_CHANNEL' propertyEwald Snel
- Calculate number of spu channels in video_decoder_loop() - Use 'track_map' for spu channels, just like audio channels CVS patchset: 3700 CVS date: 2002/12/27 22:49:38
2002-12-26- cleanup internal interfaces for rewiringMiguel Freitas
- fix UI_PLAYBACK_FINISHED rifle CVS patchset: 3686 CVS date: 2002/12/26 21:53:41
2002-12-22flush moved to decoder loop. that simplifies things a lot.Miguel Freitas
new buffer methods to avoid deadlocks doing flush from video_out CVS patchset: 3629 CVS date: 2002/12/22 15:02:06
2002-12-21xine_get_pos_length should return zero if current position is unknown. thisMiguel Freitas
prevents the gui from drawing slider at wrong positions during seek. CVS patchset: 3609 CVS date: 2002/12/21 16:13:43
2002-12-21- add buf->decoder_info_ptr: portability for systems where pointer hasMiguel Freitas
different sizeof than integer. - add extra_info structure to pass informations from input/demuxers down to the output frame. this can be used, for example, to pass the frame number of a frame (when known by decoder). also, immediate benefict is that we now have a slider which really shows the current position of the playing stream. new fields can be added to extra_info keeping binary compatibility - bumpy everybody's api versions CVS patchset: 3603 CVS date: 2002/12/21 12:56:44
2002-12-12only update pos/time from video if there is no audioGuenter Bartsch
CVS patchset: 3498 CVS date: 2002/12/12 22:54:57
2002-12-06- add still frame hintMiguel Freitas
- improves playback on slower systems since we avoid false triggering of still frames and duplicating images CVS patchset: 3447 CVS date: 2002/12/06 18:38:35
2002-11-29no need to dispose the current decoder plugin on stream end, it will be disposedMichael Roitzsch
anyway as soon as a new stream starts or another decoder is needed benefit: the dxr3 video decoder will not close the device after playing the logo and therefore the image will stay on screen CVS patchset: 3389 CVS date: 2002/11/29 17:25:26
2002-11-15cleaning up spu types. now avi subtitles may be enabled again.Miguel Freitas
(+ missed ffmpeg/dv patch) CVS patchset: 3263 CVS date: 2002/11/15 00:20:31
2002-11-12merge metronom's improvements (inform decoders about discontinuities)Miguel Freitas
http://sourceforge.net/mailarchive/forum.php?thread_id=1297475&forum_id=7131 CVS patchset: 3250 CVS date: 2002/11/12 18:40:50
2002-11-02these should better be broadcast signalsMichael Roitzsch
CVS patchset: 3149 CVS date: 2002/11/02 15:18:40
2002-10-31new syntax for MRLsMichael Roitzsch
basic changes: - MRLs are a subset of URIs - important new delimiter is # - everything before the # will be passed to the input plugin - after the # you can add several ;-separated stream parameters: novideo - video will be ignored noaudio - audio will be ignored nospu - spus will be ignored demux:... - specify the demuxer to use (e.g. demux:mpeg_block) entry:value - assign any config entry a new value CVS patchset: 3112 CVS date: 2002/10/31 16:58:12
2002-10-29engine improvementsMichael Roitzsch
- output fifo flushing - more sophisticated discontinuity handling - seek improvement by waiting for at least one frame CVS patchset: 3089 CVS date: 2002/10/29 16:02:43
2002-10-27return of ogg and vorbis, began implementing verbosity parameterGuenter Bartsch
CVS patchset: 3034 CVS date: 2002/10/27 01:52:15
2002-10-26Remove assert(0), left over from testing.James Courtier-Dutton
dispose of event queue. CVS patchset: 2998 CVS date: 2002/10/26 02:12:27
2002-10-21Enable DVD SPU subtitles.James Courtier-Dutton
CLUT and timing do not seem to be working well yet. CVS patchset: 2897 CVS date: 2002/10/21 12:10:58
2002-10-19call it LOG for consistencyGuenter Bartsch
CVS patchset: 2861 CVS date: 2002/10/19 18:51:22
2002-10-18my very first try at the new streams api. some fixes to it (uninitializedMiguel Freitas
stuff and plugins being instatiated several times). actually i got it to play something (have not tried sound though). CVS patchset: 2845 CVS date: 2002/10/18 04:04:10