aboutsummaryrefslogtreecommitdiffstats
path: root/src/media/UAudioDecoder_FFmpeg.pas (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-23Fix timeline for songs with no start_time master. Thanks to rudi_s.k-m_schindler1-2/+9
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3107 b956fd51-792f-4845-bead-9b4dfca2ff2c
2014-11-22Remove unused variables and fix warnings with ifdefed variables. Thanks to ↵k-m_schindler1-1/+1
rudi_s. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3103 b956fd51-792f-4845-bead-9b4dfca2ff2c
2014-11-22adding ffmpeg-2.4. compiles, but crashes on Mac OS X.k-m_schindler1-16/+19
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3083 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-12-26Fix in avformat defines and a small fix in UAudioDecoder_FFmpegbrian-ch1-0/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3060 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-12-21fix ffmpeg-1.1k-m_schindler1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3042 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-12-15Add more explanations. Thanks again to brianf for the decisive hint. k-m_schindler1-1/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3036 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-12-15fix the screwy sound by requesting the required sample format.k-m_schindler1-0/+5
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3035 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-12-14fix PByteIOContext for ffmpeg-1.2. ffmpeg-0.8 works. ffmpeg-1.2 compiles but ↵k-m_schindler1-0/+4
no audio and then crashes. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3026 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-07-18fix version detection of libavformatk-m_schindler1-6/+6
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3000 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-07-11In order to make ffmpeg-1.0 work:lotanrm1-4/+8
Fixed avcodec FF_API flags (similar to r2996). Changed from old avformat_register_protocol2 to using AVIOContext. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2998 b956fd51-792f-4845-bead-9b4dfca2ff2c
2013-05-15fix compilation on ubuntu and lart release engineers, who mix releases ;-)k-m_schindler1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2984 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-24cosmetics: long variable names. no code change.k-m_schindler1-8/+8
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2890 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-24some minor bugfixes.k-m_schindler1-4/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2889 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-17Corrected AVStream pointer arithmetic to work inconjuction with fpc 2.6 as ↵lotanrm1-5/+1
well fpc 2.4. Removed unneeded code. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2884 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-17Added support for ffmpeg-0.10.lotanrm1-11/+53
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2883 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-11correct versions and prepare logic of file opening for ffmpeg-0.8k-m_schindler1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2882 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-08untested proposal for replacement of av_find_stream_info by av_read_framek-m_schindler1-0/+9
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2877 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-05-05another fix of streams. USDX finally builds, but does not work.k-m_schindler1-0/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2876 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-04-22updates and extension for ffmpeg-0.8k-m_schindler1-1/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2867 b956fd51-792f-4845-bead-9b4dfca2ff2c
2012-04-20new detection of ffmpeg version. API changes: SampleFormat -> ↵k-m_schindler1-1/+0
AVSampleFormat. Configure still needs update. Special thanks to lotan. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2856 b956fd51-792f-4845-bead-9b4dfca2ff2c
2010-06-19Bugfix: do not call Inc() on PByteArray pointers. It will not increment by ↵tobigun1-1/+1
one byte, but by SizeOf(ByteArray) bytes which is some KB. As a result the pointer will point to an illegal memory address. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2549 b956fd51-792f-4845-bead-9b4dfca2ff2c
2010-06-13Fix for invalid song lengthstobigun1-1/+1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2511 b956fd51-792f-4845-bead-9b4dfca2ff2c
2010-06-03prefix class fields with 'f'tobigun1-272/+272
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2439 b956fd51-792f-4845-bead-9b4dfca2ff2c
2010-06-03better EOF handling for FFmpeg audio decoding (EOF handled like it is done ↵tobigun1-3/+12
in UVideo) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2438 b956fd51-792f-4845-bead-9b4dfca2ff2c
2010-04-21fixed choppy start of some songs when using ffmpegtobigun1-24/+33
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2270 b956fd51-792f-4845-bead-9b4dfca2ff2c
2009-11-09merged unicode branch (r1931) into trunks_alexander1-19/+20
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1939 b956fd51-792f-4845-bead-9b4dfca2ff2c
2009-05-15resolve some type size mismatch warnings + an additional check.k-m_schindler1-4/+6
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1727 b956fd51-792f-4845-bead-9b4dfca2ff2c
2009-04-09Warnings and Notes cleanupk-m_schindler1-1/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1662 b956fd51-792f-4845-bead-9b4dfca2ff2c
2009-02-04PChar replaced by PByteArray (for byte buffers) or PAnsiString (for ↵tobigun1-13/+13
zero-terminated strings) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1583 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-09-23added file headerstobigun1-0/+25
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1404 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-09-13Media modules moved from base to mediatobigun1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1374 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-09-02Moved: The folder classes has been renamed to basemogguh1-0/+0
Updated: ultrastardx.dpr has been changed accordingly git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1339 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27rename Classes part2k-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1308 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27rename Classes part1k-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1307 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27Reordering of the directories[1]: moving Game/Code to srck-m_schindler1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1302 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27FFmpeg spelling fixtobigun1-0/+0
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1296 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27spelling corrected FFMpeg -> FFmpegtobigun1-73/+74
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1295 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-08-27FFmpeg is very verbose and shows a bunch of errors.tobigun1-0/+22
Those errors (they can be considered as warnings by us) can be ignored as they do not give any useful information. There is no solution to fix this except for turning error-messages off. They can be enabled if EnableFFmpegErrorOutput (in UAudioDecoder_FFMpeg) is defined (undefined by default). git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1294 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-07-02Audio/Video engine update:tobigun1-721/+801
- lyrics<->audio synchronisation (TSyncSource) - better resampling (optional support for libsamplerate) - cleaner termination of audio/video streams/devices - improved decoders and decoder infrastructure - many other improvements/cleanups Currently just for testing (not enabled by default): - Background music - Voice-Passthrough (hear what you sing) - Video VSync git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1157 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-05-13- fixed video-backgroundtobigun1-20/+64
- fixed buggy SkipTime (using TRelativeTimer now) - TLineState is a class now. TLineState.CurrentTime is now automatically updated using TRelativeTimer git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1088 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-05-09- input-source selection works now (with bass or portaudio with portmixer)tobigun1-203/+343
- audio-effects (DSP) interface for audio-playback plus a simple voice removal example (does not sound that good) - FFMpeg support for BASS - audio-clock for FFMpeg for GetPosition and synchronisation - more compatible seeking in FFMpeg - clean termination of the audio interfaces/streams (especially ffmpeg) - Audio output device enumeration (selection will be added later to the sounds option screen) - display of threshold and volume in the record-options screen - threshold and volume can be changed with the 'T' (threshold) and '+'/'-' (source volume) keys - added a FadeIn() method to the IAudioPlayback interface - some minor changes to the audio classes/screens - new base-class for audio-playback classes (used by bass, portaudio and sdl) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1078 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-04-24- reverted some stuff that was erroneously commited by one of the last commits.tobigun1-14/+14
- moved DEBUG define from config-*.inc back to switches.inc - APPTYPE is needed by FPC (for Windows) too. Fixed some crashes with Writeln in FPC (Win) if no console is available. - Moved thread-safe ULog.SafeWriteln() to UCommon.ConsoleWriteln(), this is used by DebugWriteln() now, so this is thread-safe too - Added log-levels (sorted by severity): DEBUG, INFO, STATUS, WARN, ERROR, CRITICAL. Default log-level is LOG_LEVEL_ERROR, so warnings and less important logs are not printed by default. You can change this by LOG_LEVEL_DEFAULT or Log.SetLogLevel(Level). Please use Log.LogError/Warn/Status/Info/Debug/... instead of DebugWriteln() to avoid spamming the console. See ULog.pas for further info. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1036 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-10removed a few unused local variablesjaybinks1-7/+7
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@949 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-09new MixBuffers() function as replacement for SDL_MixAudio. Now portaudio ↵tobigun1-2/+2
works without crackling. MixBuffers is not optimized yet (no MMX, etc.) but I think it is fast enough for now. If SDL is used for audio output SDL_MixAudio() is used instead because it is more optimized. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@948 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-07- Fixed audio-playing in container (video) files. Now audio can be read ↵tobigun1-12/+32
directly from the video file and does not have to be extracted to a separate audio-file anymore (tested with vob, avi and flv. Note: With some versions of FFMPEG flv does not work correctly). - Added "pCodecCtx^.workaround_bugs := FF_BUG_AUTODETECT" to let FFMPEG automatically handle known bugs. This might be interesting for video-decoding too. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@936 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-03delphi 7 compatibility (inline was introduced with delphi 2005)tobigun1-4/+4
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@902 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-03-03- Input now supports multiple SampleRates (not fixed to 44100Hz anymore)tobigun1-9/+21
- Input is not restricted to stereo input-devices anymore (mono and multi-channel devices work too) - Some improvements on the input-device detection - Retrieves native capture sample-rate on Vista and MacOSX with BASS (maybe this solves some problems with wrong sample-rates) - Capture-volume preview: a little modification to jay's approach. Now there are volume bars and pitch-displays. It needs some fine-tuning, maybe mog can do this if he likes. - Some indentation/clean-up/translations git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@900 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-20- Resampling support addedtobigun1-73/+97
- DecodeStreams are closed now if they are not used anymore - Fixed the crash that occured when USDX was closed git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@875 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-05General:tobigun1-96/+101
- cleanup and adaption of SingDrawOscilloscope Portaudio/SDL audio output: - stuttering in portaudio output has been fixed (SDL_MixBuffers cannot be used without initializing the SDL audio stuff first, so it is not usable with portaudio. Now SDL is used for audio-output instead of portaudio (although the file-name is UAudioPlayback_Portaudio.pas at the moment). - cleaner file closing - volume adjustment UMusic: - cleanup of the audio-interfaces - introduced TNoteType = (ntFreestyle, ntNormal, ntGolden) - some bug-fixes - introduced TSoundLibrary. This is library for all in-game sounds used by USDX. Instead of calling AudioPlayer.PlaySwoosh you should call AudioPlayer.PlaySound(SoundLib.Swoosh) now. You might call SoundLib.Swoosh.Play too, but this is not recommended at the moment because SoundLib.Swoosh could be nil if the file was not found. The SoundLibrary approach is much cleaner than the previous one. The AudioPlayer does not have to specify a Play... and Stop... method for every available sound anymore. In addition it is not an AudioPlayers responsibility to init the in-game sounds. URecord: - polish to english translation of some variables - CaptureSoundLeft/Right is CaptureChannel[0/1] now - TSoundCardInput -> TAudioInputDeviceSource - TGenericSoundCard.Input -> TGenericSoundCard.Source - autocorrelation algorithm more readable now - Clean-up of the audio-input interface - moved cloned code of the input-classes to one base class (TAudioInputBase) - Cleaner finalization - Start-/StopCapture will not crash anymore in the recording-options menu - Fixed several bugs in the autocorrelation stuff (e.g. wrong usage of $10000) - SzczytJest (now ToneValid) was not used correctly. ToneValid is set to true if a valid tone was found (= the sound was louder than the threshold -> no background noise). If i remember correctly the sound was accepted although the tone was invalid. So the old data was used although noone was singing. This resulted in some sort of ghost-singer effect. UIni: - moved TIni.Card to TScreenOptionsRecord.Card because it is not stored in the ini-file and will not be in the future. - TIni.CardList ist now TIni.InputDeviceConfig. The name cardlist was misleading because it just specifies input- but no output-devices. In addition a soundcard can have multiple input-devices (at least in linux). - bugfix on InputDeviceConfig (formerly CardList) usage. USDX expected that the indices of the corresponding elements in TIni.InputDeviceConfig[] and TAudioInputProcessor.Device[] were the same. This is wrong. If device 2 was defined at first place in the ini and device 1 at the second, the indices of the two arrays didn't match (they were swapped) erroneously. To fix this and to support the item listed below the index to TIni.InputDeviceConfig[] is now stored in TAudioInputDevice.CfgIndex. NOTE: InputDeviceConfig[] contains configurations of non-available (unplugged) devices. Iterate over TAudioInputProcessor.Device[] for available devices. - configurations of external devices that are not plugged in will not be deleted anymore. - multiple definitions of one device in the ini-file will not crash USDX anymore - CardList[I].ChannelL/R now are InputDeviceConfig[I].ChannelToPlayerMap[0/1]. I think the new name is more intuitive because it maps a channel to a player number. Now the both vars are joint to one array. Now it is possible to use loops to process them and we might support more than two input channels on one device in the future (if such devices exist) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@827 b956fd51-792f-4845-bead-9b4dfca2ff2c
2008-02-05Update of the ffmpeg headers to their current trunk versions.tobigun1-5/+6
IMPORTANT: parameter of av_free_packet is a pointer now procedure av_free_packet (pkt: PAVPacket); as it is with av_free() and av_freep() git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@814 b956fd51-792f-4845-bead-9b4dfca2ff2c