Amar Takhar
0763541848
Change how configuration works.
...
* move win32/config0.h -> config/config_windows0.h
* move win32/stdint.h -> msvc/stdint.h
* move posix/defines.h -> config/config_unix.h
* add config.h - brings in config_(windows|unix).h as required
* add config.h to *.cpp
* Self-contain FFmpegSource2 with required function defines wrapped with
__UNIX__ instead of the now removed defines.h.
* Edit aegisub_vs2008.vcproj to remove explicit inclusion of config.h, also
change VCPreBuildEventTool to create windows_config.h from
windows_config0.h. Add msvc to include path.
* Change configure to create ./acconf.h instead of posix/acconf.h
This will allow us to create a more standard and platform agnostic way of
configuration aegsisub during build time.
Originally committed to SVN as r2621.
2009-01-04 06:31:48 +00:00
Karl Blomster
6ad406446b
Changed how the lavc audio decoder handles non-decodable audio packets. Previously, if decoding failed at any point in the audio stream, it would throw an exception that didn't get caught anywhere and hence crashed the program. Now, it'll just silently skip the broken packet and go on to next one, meaning that if the audio stream is actually corrupted and not just some weird stream with null packets you'll either get desyncs from the missing samples, or if the entire stream is non-decodable you'll just silence.
...
tl;dr: Fixed loading of AAC files with the ffmpeg provider.
Originally committed to SVN as r2507.
2008-12-17 06:22:05 +00:00
Karl Blomster
82059cbfe2
add some support for sample formats other than 16-bit int to the lavc audio provider. untested and will probably break spectacularly.
...
Originally committed to SVN as r2320.
2008-09-05 12:55:45 +00:00
Karl Blomster
bf931df635
fix retarded breakage in previous commit.
...
Originally committed to SVN as r2304.
2008-08-14 23:49:11 +00:00
Karl Blomster
d1c62c1324
Fix crash on playing video without audio loaded when using the ffmpeg providers. Patch by Manta with minor modifications by me.
...
Originally committed to SVN as r2303.
2008-08-14 16:10:31 +00:00
Karl Blomster
5b38a17529
replace a bunch of magic numbers (2) with bytes_per_sample
...
Originally committed to SVN as r2297.
2008-08-04 08:17:35 +00:00
Karl Blomster
217c228738
misc small fixes in the ffmpeg audio provider, preparation for support of other sample formats than just 16-bit int
...
Originally committed to SVN as r2296.
2008-08-04 07:13:41 +00:00
Karl Blomster
0badb4059f
Restructured audio providing a bit. If a provider cannot provide 16-bit mono audio with a sample rate higher than 32kHz, an intermediate converting provider will be inserted to fix it. Made the lavc audio provider rely on this for downmixing instead of doing it with libavcodec (used to fail on audio with >2 channels).
...
Originally committed to SVN as r2265.
2008-07-16 13:22:06 +00:00
Karl Blomster
893ff2f78a
Major rewrite of the video providing system. Hilights:
...
- It is now the responsibility of each video provider to provide a list of keyframe positions and (if it can) timecodes.
- The ffmpeg video provider now indexes files before opening them and does no longer rely on stream->duration to determine the number of frames. Fixes opening of MKV files, but it does not (currently) open timecodes automatically and reported keyframe positions seem way off. Status of frame-accuracy with MKV files unknown but it may very well work.
- Modified the way the ffmpeg video provider seeks (inspired by code from Myrsloik's ffmpegsource). Should no longer lose the first frame and should also no longer be frame-inaccurate, at least not with AVI.
- DirectShow video provider may or may not be completely broken, not tested.
Originally committed to SVN as r2252.
2008-07-15 00:08:05 +00:00
Karl Blomster
51c9856160
clarified downmixing error in ffmpeg audio provider
...
Originally committed to SVN as r2239.
2008-07-05 11:29:42 +00:00
Karl Blomster
e26b9fe0d5
overhaul of audio_provider_lavc.cpp. should fix the infamous skewing issue, tested and works on windows at least.
...
Originally committed to SVN as r2236.
2008-07-04 12:04:10 +00:00
Karl Blomster
075bc5ec75
revert r2216 (changes to the libav* includes)
...
Originally committed to SVN as r2228.
2008-07-04 00:20:14 +00:00
Karl Blomster
910ff2e34e
the "impossible" audio error is now really impossible
...
Originally committed to SVN as r2226.
2008-07-03 23:27:06 +00:00
Karl Blomster
d6ada6f0bd
black magic for building with ffmpeg on windows
...
Originally committed to SVN as r2224.
2008-07-03 15:22:25 +00:00
Karl Blomster
40c709da72
change of #includes: <ffmpeg/*> to <libavstuff/*>
...
Originally committed to SVN as r2216.
2008-07-02 16:31:06 +00:00
pstatic
d65b697e12
Add workaround for what looks like a ffmpeg bug
...
Originally committed to SVN as r2194.
2008-05-21 20:03:39 +00:00
Amar Takhar
f0f0d541b6
Add a .c_str(); to _filename (line 83)
...
Originally committed to SVN as r2143.
2008-03-25 23:01:29 +00:00
Karl Blomster
7be56fbcd4
cast some lavc context variables to int (avoids warning treated as error when compiling WITH_FFMPEG on msvc)
...
Originally committed to SVN as r2137.
2008-03-24 11:30:35 +00:00
Karl Blomster
2c495b5d80
casting
...
Originally committed to SVN as r2119.
2008-03-23 12:36:16 +00:00
Karl Blomster
b6d8b403d6
fix catastrophic failure in last commit
...
Originally committed to SVN as r2116.
2008-03-22 22:48:59 +00:00
Karl Blomster
e61d333297
warn the user if audio skew is likely
...
Originally committed to SVN as r2115.
2008-03-22 22:45:46 +00:00
Karl Blomster
76469421e4
minor tweaks to the lavc audio provider.
...
Originally committed to SVN as r2114.
2008-03-22 22:18:43 +00:00
Karl Blomster
9a7bbc9b93
missing semicolon in last commit
...
Originally committed to SVN as r2095.
2008-03-21 20:35:59 +00:00
Karl Blomster
ee04563ff6
attempt at fixing the lavc audio skew problems by making very very sure all data in each packet is decoded.
...
Originally committed to SVN as r2094.
2008-03-21 20:30:34 +00:00
Karl Blomster
6d8f862aed
cleanup of the lavc audio provider; renamed some variables, added some comments and restructured a bit. as an added improvement it will now no longer resample unless strictly necessary.
...
Originally committed to SVN as r2093.
2008-03-21 19:52:14 +00:00
Karl Blomster
521632cd9b
changed output buffer size to AVCODEC_MAX_AUDIO_FRAME_SIZE which is what it's actually malloc()'ed as. might actually work now.
...
Originally committed to SVN as r2052.
2008-03-14 05:14:30 +00:00
Karl Blomster
56370f0f4a
hurf de durf, didn't consider the fact that some audio packets might not have any actual content. return value of avcodec_decode_audio2() is now checked against < 0 again.
...
Originally committed to SVN as r2051.
2008-03-14 04:38:30 +00:00
Karl Blomster
3cade86767
check the return value of avcodec_decode_audio2() against <= 0, not just < 0 (both indicate no audio decoded)
...
Originally committed to SVN as r2042.
2008-03-13 08:41:21 +00:00
Karl Blomster
47f6f2aed6
Replaced deprecated function avcodec_decode_audio() with nondeprecated version avcodec_decode_audio2() in audio_provider_lavc.cpp. Maybe possibly potentially hopefully fixes mp3 decoding problems?
...
Originally committed to SVN as r2041.
2008-03-13 08:30:40 +00:00
Amar Takhar
6246c3998d
s/wxString/Aegisub::String/ in many places.
...
Originally committed to SVN as r1967.
2008-03-08 04:27:41 +00:00
Rodrigo Braz Monteiro
30d1aeb551
ops.
...
Originally committed to SVN as r1892.
2008-03-05 02:23:47 +00:00
Rodrigo Braz Monteiro
b1b2c3d7fb
Changed audio providers to register manually.
...
Originally committed to SVN as r1891.
2008-03-05 02:19:50 +00:00
Rodrigo Braz Monteiro
c2aaa4eb8c
Added shb's incomplete perl support code (doesn't build on VC++ yet)
...
Originally committed to SVN as r1741.
2008-01-16 18:29:29 +00:00
Rodrigo Braz Monteiro
75b4fb1437
Made almost all major components of Aegisub optional... this might be severely broken still.
...
Originally committed to SVN as r1660.
2007-12-31 06:46:22 +00:00
Niels Martin Hansen
89d076c760
Apparently long long isn't safe, trying with int64_t instead then...
...
Originally committed to SVN as r1547.
2007-08-31 14:11:35 +00:00
Niels Martin Hansen
8909ea48e2
Replace all (applicable) instances of __int64 with long long. (All except those in foreign header files.)
...
Originally committed to SVN as r1540.
2007-08-29 13:36:30 +00:00
Rodrigo Braz Monteiro
b773706f6d
Some fixes for ffmpeg linking (I have no idea how it worked before)
...
Originally committed to SVN as r1473.
2007-08-07 22:10:44 +00:00
Niels Martin Hansen
c6722b0587
Fixed some building on Linux, at least on Ubuntu Feisty amd64. Also
...
updated configure.ac to check for wxSTC instead of wxScintilla.
Originally committed to SVN as r1106.
2007-04-22 00:23:21 +00:00
Rodrigo Braz Monteiro
97d996f995
Fixed all warnings while building on Linux, except for the ones on MatroskaParser.c and the ones about image conversion. Poke equinox for the later.
...
Originally committed to SVN as r1008.
2007-04-04 20:42:44 +00:00
Rodrigo Braz Monteiro
0568af7ce0
added ClampSignedInteger32() to utils and used that to remove branching from YV12->RGB32 conversion, hopefully making it faster. Also, fixed a warning in lavc audio provider.
...
Originally committed to SVN as r988.
2007-04-03 21:05:33 +00:00
David Lamparter
7c38076d4f
fix INT64_C breakage with ffmpeg
...
Originally committed to SVN as r967.
2007-03-31 21:28:43 +00:00
Rodrigo Braz Monteiro
0dd4f96757
Fix for lavc audio provider to prevent it from crashing if it cannot load the file (was causing video playback to crash if no audio was loaded)
...
Originally committed to SVN as r963.
2007-03-29 21:05:22 +00:00
Rodrigo Braz Monteiro
6d84bde8da
Several fixes to build on Linux
...
Originally committed to SVN as r887.
2007-01-24 02:11:26 +00:00
Rodrigo Braz Monteiro
02bf068052
Basic (and somewhat broken) detached video dialog implemented.
...
Originally committed to SVN as r881.
2007-01-23 04:42:08 +00:00
Rodrigo Braz Monteiro
06cff2e2f2
Renamed /core/ to /aegisub/ to avoid issues with unix systems being unable to delete core dumps.
...
Originally committed to SVN as r652.
2006-12-28 23:43:23 +00:00