summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
Commit message (Collapse)AuthorAgeFilesLines
* It's a good idea to have a buffer for every pid you decide to decode.van2008-02-291-4/+2
| | | | | | | | Max buffers was 1/4 max streams. This makes it same as max streams. (Fixes crash reported by ncbp at http://forum.handbrake.fr/viewtopic.php?p=28899&sid=0c89bb9c9aed7eee51c294f25ac61e99#p28899) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1321 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Formatting: Remove a lot of trailing whitespace.saintdev2008-02-211-87/+87
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1307 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - More robust stream duration estimation: take 16 (position,pts) samples ↵van2008-02-091-28/+100
| | | | | | | | | then do a max likelihood estimate of the average rate based on the rate between all pairs of samples. - When we detect a sync error attempt to resync so that we can handle streams where a few bytes have been inserted or deleted. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1253 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Make MPEG audio (and other audio types besides AC3) work.van2008-01-221-103/+126
| | | | | | | | | - Since the stream is closed after the scan then reopened by reader, we have to preserve all the state we gathered during the scan (like audio id to TS PID bindings) across the close. For now do this by ignoring the close call & doing a close internally when a stream of a different name is opened. - Don't overfill ts_packetbuf and abort just because an audio stream was missing the AC3 sync pattern (MPEG & DTS streams don't even have an AC3 sync pattern). - Get rid of several unused variables so that this compiles with no warnings. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1231 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - figure out MPEG PS duration from stream rather than faking it.van2008-01-061-91/+136
| | | | | | | | | | - correct some audio substream id mistakes: substream 2 is for dvd subtitles (in a vob) not lpcm, substream 10 is lpcm, dts seems to be a variant of ac3 (8), not its own code. - incorporate suggestions from eddyg's code review. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1170 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Program Streams: Vans patch to set a fake duration for program streams.dynaflash2008-01-011-5/+5
| | | | | | Thanks Van! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1159 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Program Stream Enhancements - Van: Libhbdynaflash2007-12-311-224/+205
| | | | | | | | | | | - Thanks Van ! - Identifies program streams by type instead of file extension - Improves proper duration reporting of program streams - fixes audio reconvergence code in libhb/sync.c trying to free a null buffer causing a crash - Assorted other enhancements to encoding program streams. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1155 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MPEG-2 stream reading fixes for missing audio, multiple audio tracks, ↵jbrjake2007-12-131-180/+277
| | | | | | language codes, reading streams larger than 2GB, and incorrect title numbers. This vastly expands HandBrake's TS/PS compatibility. Thanks, van! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1123 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improved PMT and PAT algorithms to work with streams where the PAT contains ↵awk2007-09-211-227/+262
| | | | | | | | | | entries for PMT's not present in the stream. Improved the PMT algorithm to work with PMT's that span TS Packets (though this is not well tested due to a lack of such streams). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@976 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added buffer management and changed fifo sizes. Changed job->subtitle_scan ↵eddyg2007-09-111-1/+1
| | | | | | to job->indepth_scan, and fixed memory init bug in denoise.c. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@945 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Allows stream.c to try to read .VOB, .TS, and .mpeg files in addition to ↵jbrjake2007-08-241-3/+6
| | | | | | | | .vob, .ts, .m2t, and .mpg files. These are just more hard-coded file type extensions. awk, if this is a Bad Idea for a reason I'm ignorant of, feel free to revert. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@861 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This should finally fix the PS stream language without iterating through ↵saintdev2007-07-261-1/+1
| | | | | | every language to find we want the first. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@740 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Ok, this should fix compilation. Instead of using the 2-letter language code ↵jbrjake2007-07-251-1/+1
| | | | | | for "Unknown" (which is a blank string) I've set it to use the 3-letter code ("und" for undetermined). There could easily be a better way to do this. C strings are not my forte. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@732 b64f7644-9d1e-0410-96f1-a4d463321fa5
* We shouldn't assume that MPEG2-PS audio is English. Set it to 'Unknown' instead.saintdev2007-07-251-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@730 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Implement transport and program stream support. With these changes it's now ↵awk2007-07-041-0/+1985
possible to open a .ts or .mpg files and transcode to standard Handbrake Output files. This fixes Ticket #21. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@648 b64f7644-9d1e-0410-96f1-a4d463321fa5