This fixes a rather subtle seeking issue with ffmpeg and Sony
XDCAM-footage.
Problem is: MPEG2 streams within an MP4 container can contain a start
time - at several places. There is a starttime within the video
and audio streams and one within the container.
FFMpeg commandline tool only uses the container starttime and we used
the stream starttime.
The world would be a better place, if those two timestamps always match
up, since in XDCAM-footage those two starttimes differ in 4
frames - and the container has the right one.
We now always use the container start time as ffmpeg commandline tool
does (in the hope, that there is a good explaination for this and this
is the right thing(tm) to do).
I tested this also with HDV footage, which seems to work with the new
code, too.
Additional fix: disabled seek_by_bytes again, since it will only work
correctly, if ffmpeg guessed the HDV bitrate right (which it doesn't).
If you have seeking issues with HDV and have an older version of ffmpeg
installed, please upgrade, newer versions have some fixes in them.
* Added an error string for audaspace exceptions.
* Fixed PyAPI exceptions.
* Minor bugfixes.
* Added a name parameter to the Jack device, so that one can define an own name via Python.
Some points of the refactor not sorted by importance:
* Fixed immutability of readers and factories (there are exceptions...)
* Fixed copy constructors and = operators
* Removed messaging system
* Removed reader types
* Added const where possible
* Using initalisers when possible
* Avoided use of pointers when possible
* Removed AUD_NEW and AUD_DELETE macros
* Removed useless NULL pointer checks
* Fixed exception catching
* Fixed some yet unknown bugs
* Lots of other stuff
Error was cased by undefined UINT64_C in stdint.h for c++
programs. As I understand from ffmpeg mailing list the simpliest
solution is to define __STDC_CONSTANT_MACROS before including
ffmpeg libraries. There already was some amout of such definitions in
the code and I've tested this with newer and older ffmpeg
libraries -- this should work and should be safe, but maybe
there is better way of fixing this problem.
* Division by zero fix for TNT SVD code.
* Sound fix, in case ffmpeg decode fails, don't use the samples.
* Fix for incorrect bounds of transformed objects in new raytracing code.
* Gave memory arena's a name used for allocations for easier memory
usage debugging.
* Dupligroup no_draw option was using layers but not restrict view/render
setting. (not a bugfix exactly but would do display list context switching
while drawing for no reason).
* Fix objects instanced on hair particles not giving consistent results
when the object is transformed.
* New math functions: madd_v4_v4fl, len_squared_v3v3, interp_v4_v4v4v4,
mul_v4_m4v4, SH and form factor functions, box_minmax_bounds_m4.
* mul_m4_m4m4 and mul_m3_m3m3 now accept the same pointers for multiple
arguments.
* endjob callback for WM jobs system.
* Geometry node uv/color layer now has search list/autocomplete.
* Various small buildsystem tweaks, not strictly needed yet in trunk.
* Refactored the whole audaspace library to use float as sample format over all readers.
* Added new Readers like the linear resampler, envelope, lowpass, highpass and butterworth.
* Note: The butterworth filter isn't working correctly, some bug in there... Maybe also true for the envelope.
* Added a sound to f-curve operator that behaves mostly like the soundtracker script of technoestupido.
I hoped for it to resolve the bug of loading sounds with relative paths didn't work, but Main.name isn't set before the sounds are loaded, so the bug resists!
Someone who is into file loading should please fix this!
This add support for: sdl, ffmpeg, openal, jack and sndfile.
We have new options:
WITH_OPENAL, default false
WITH_JACK, default false
WITH_SNDFILE, default false
and with this:
NAN_OPENAL, default /usr
NAN_JACK, default /usr
NAN_JACKCFLAGS, default -I$(NAN_JACK)/include/jack
NAN_JACKLIBS, default $(NAN_JACK)/lib/libjack.a
NAN_SNDFILE, default /usr
NAN_SNDFILECFLAGS, default -I$(NAN_SNDFILE)/include
NAN_SNDFILELIBS, default $(NAN_SNDFILE)/lib/libsndfile.
Also add two new option on source/Makefile for jack and sndfile libs,
but only for linux, so let me know for other OS.