summaryrefslogtreecommitdiff
path: root/src/demuxers/demux_mpeg_pes.c
AgeCommit message (Collapse)Author
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-06-11Add some missing BUF_FLAG_PREVIEW in preview_mode.Reinhard Nißl
--HG-- extra : transplant_source : %F5K%AE%D3f%EFQ%F5U%E5%FE%BB%1E.%2Beh%C5%20%7F
2009-01-05Merge security fixes.Darren Salt
2008-12-31check number of bytes read by input->read in demuxing mpeg block/pesMatthias Hopf
input->read may return negative error codes or read less than we want so we should check for the right return value instead of just not 0
2008-11-20Some warning fixes: XINE_FORMAT_SCANF, statics in headers, consts, ...František Dvořák
Add warning flags to the DEBUG_CFLAGS too.
2008-05-09Avoid loop for common memory operations (zeroing, copying, moving).Diego 'Flameeyes' Pettenò
Use the proper function for common memory operations (memset() for zeroing, memcpy() for copying, memmove() for moving), instead of looping through arrays. By extension, remove loops to reset arrays when they were allocated with calloc() and thus already zeroed.
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
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-10-31Improve PTS wrap detection for large A/V offsets.Reinhard Nißl
The last fix to PTS wrap detection could not handle streams with A/V offsets larger than 3 seconds. The improved version can deal with them now. --HG-- extra : transplant_source : %89%1F%7E%12%D5r%A8%CE%95N%BAG%96%02%60%0C%10%9Aar
2007-10-01Fix incorrect H.264 detection on successive MPEG1/2 B frames.Reinhard Nißl
Successive MPEG1/2 B frames (each with a slice #9) could incorrectly lead to the assumption of a H.264 stream, as sequence or group start codes were not seen for these frames. So the detection logic interpreted the slice #9 start codes as H.264 access unit delimiters and therefore incorrectly switched to H.264 buffer type instead of MPEG1/2. Extending the detection logic to consider MPEG1/2 picture start codes as well (which do not appear in H.264 streams), prevents false positives.
2007-04-15Avoid sending BUF_FLAG_FRAME_END before the first frame.Reinhard Nißl
When BUF_FLAG_FRAME_END is sent before the first frame, decoding fails as there is no data and a "bad" frame of size 0x0 will be allocated, which is really bad as such as frame is simply invalid.
2007-03-29A little more reodering, and convert a few more fields to 1-bit flags.Diego 'Flameeyes' Pettenò
CVS patchset: 8762 CVS date: 2007/03/29 17:11:36
2007-03-26Optimise the demux_mpeg_pes_t structure a bit, instead of using two int32_t ↵Diego 'Flameeyes' Pettenò
as boolean, and one int for just two LSBs, use a 1/1/2 bitmask, saves 11 bytes of memory (and probably also cpu instructions as there is almost no arithmetic done with it, but just logic that can be easily used bitwise. CVS patchset: 8753 CVS date: 2007/03/26 21:18:52
2007-03-26Add support for H.264 video stream in PES packets. Patch by Reinhard Nissl.Diego 'Flameeyes' Pettenò
CVS patchset: 8752 CVS date: 2007/03/26 21:06:32
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
2007-01-19Make get_mrl return a const char * too.Diego 'Flameeyes' Pettenò
CVS patchset: 8524 CVS date: 2007/01/19 01:05:24
2007-01-19Make get_description get_identifier get_extensions get_mimetypes return a ↵Diego 'Flameeyes' Pettenò
constant string, and make the extensions and mrl vaiables usually declared when testing extension demux strategy constants too. CVS patchset: 8523 CVS date: 2007/01/19 00:26:39
2006-10-16Fixed several warnings (but warnings due to APIs not solved).František Dvořák
CVS patchset: 8344 CVS date: 2006/10/16 22:18:24
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway. CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
2006-06-17Fix strict aliasing rules breakages where possible, enable ↵Diego 'Flameeyes' Pettenò
-fno-strict-aliasing where the breakage is unresolvable, and not enable it globally (decreases performances). CVS patchset: 8048 CVS date: 2006/06/17 15:20:56
2006-06-02Various static/const fixes from Gentoo.Darren Salt
CVS patchset: 8009 CVS date: 2006/06/02 22:18:56
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2006-03-16[coverity]Thibaut Mattern
CID: 41 Checker: FORWARD_NULL (help) File: xine-lib/src/demuxers/demux_mpeg_pes.c Function: parse_private_stream_1 Description: Variable "(this)->audio_fifo" tracked as NULL was dereferenced. audio_fifo cannot be NULL CVS patchset: 7930 CVS date: 2006/03/16 21:47:37
2006-02-06PATCH: fix PTS wrap detection and add preview buffer support to demux_mpeg_pesMiguel Freitas
CVS patchset: 7881 CVS date: 2006/02/06 12:07:44
2005-02-06Added node_plugin_t pointer to the demux struct.Thibaut Mattern
Incremented demux API version. This is needed to unload plugins. CVS patchset: 7385 CVS date: 2005/02/06 15:26:00
2005-01-18**BUGFIX**Michael Roitzsch
fixed memleak reported by Jerome CVS patchset: 7359 CVS date: 2005/01/18 21:45:42
2004-12-17pts fixes by Petri Hintukainen <phintuka@cc.hut.fi>Miguel Freitas
CVS patchset: 7269 CVS date: 2004/12/17 20:08:44
2004-07-20removing unused structure memberMichael Roitzsch
CVS patchset: 6823 CVS date: 2004/07/20 16:21:26
2004-07-19merging some VDR patches from ReinhardMiguel Freitas
CVS patchset: 6815 CVS date: 2004/07/19 19:53:40
2004-06-13implement steps 1, 2, 3 and 4 of the seeking proposal:Miguel Freitas
http://article.gmane.org/gmane.comp.video.xine.devel/9532 it is now up to demuxers to decide what the 0..65535 position means. demuxers tested: ogg, voc, flac, rm, asf, vqa, vob, avi, y4m, au, mov, ts, mp3, mpg, wav, ra, mve CVS patchset: 6686 CVS date: 2004/06/13 21:28:52
2004-05-16From: Reinhard NisslJames Courtier-Dutton
1) the 'size' of the A52 frame was calculated 'result' bytes to small. 2) a simpler "not jumbo detection": if 'size' was not changed, then it's not a jumbo and we're done. CVS patchset: 6555 CVS date: 2004/05/16 21:35:16
2004-05-16Priority support.Thibaut Mattern
0 for "raw" demuxers 10 for "normal" demuxers CVS patchset: 6553 CVS date: 2004/05/16 18:01:26
2004-05-14Handle Jumbo A52/AC3 frames from VDRJames Courtier-Dutton
CVS patchset: 6534 CVS date: 2004/05/14 02:12:48
2004-04-22it seems that mux rate was wrong for all mpeg2 demuxers.Miguel Freitas
(somebody please double check) CVS patchset: 6425 CVS date: 2004/04/22 21:30:10
2004-01-12it seems i forgot to commit the api increase (demux/decoder). weird.Miguel Freitas
CVS patchset: 6030 CVS date: 2004/01/12 17:35:14
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-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-16remove empty get_frame stuff and fix some warningsMichael Roitzsch
CVS patchset: 5750 CVS date: 2003/11/16 15:31:51
2003-11-15change demux api:Miguel Freitas
- demuxers should not access stream->demux_thread_running - remove deprecated get_video_frame/got_video_frame_cb CVS patchset: 5732 CVS date: 2003/11/15 14:00:35
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-30use info_helper functions.Thibaut Mattern
CVS patchset: 5638 CVS date: 2003/10/30 00:49:07
2003-10-12Remove asserts.James Courtier-Dutton
CVS patchset: 5488 CVS date: 2003/10/12 13:40:43
2003-09-13Add comments so that people know where this sort of stream comes from.James Courtier-Dutton
CVS patchset: 5369 CVS date: 2003/09/13 19:46:53
2003-09-13Add demuxing of some AC3/A52 streams found in some DVB streams.James Courtier-Dutton
CVS patchset: 5358 CVS date: 2003/09/13 00:49:07
2003-09-10Force the RHS to int64_t. My compiler seems to thinkJames Courtier-Dutton
that the RHS is a int32_t which then needs expanding to int64_t. The expansion takes the high bit of the int32_t, which is the sign bit, and sets all the higher bits to the same sign. This in effect turns the result into a negative number, when it should just be a large positive int64_t number. This fix should probably be duplicated in all other demuxers, but I don't have time for that. CVS patchset: 5350 CVS date: 2003/09/10 00:01:59
2003-09-05Trying new methods to detect if a stream is mpeg1 or mpeg2.James Courtier-Dutton
CVS patchset: 5344 CVS date: 2003/09/05 00:12:04
2003-08-28Fix bug in demux_mpeg_pes.cJames Courtier-Dutton
Make sure it waits for a "program_stream_pack_header" before demuxing anything else. CVS patchset: 5315 CVS date: 2003/08/28 16:42:07
2003-07-25small housekeeping: demuxer api seeks in milisecondsMiguel Freitas
CVS patchset: 5211 CVS date: 2003/07/25 21:02:04