Fix syntax errors when compiling against cerbero-provided libmpg123
headers. We do the same as the libmpg123 internal visual studio
build here.
mpg123.h(1378): error C2143: syntax error: missing ')' before '('
mpg123.h(1378): error C2081: 'ssize_t': name in formal parameter list illegal
mpg123.h(1378): error C2143: syntax error: missing ')' before '*'
mpg123.h(1378): error C2091: function returns function
mpg123.h(1378): error C2143: syntax error: missing '{' before '*'
mpg123.h(1378): error C2059: syntax error: ')'
mpg123.h(1379): error C2143: syntax error: missing ')' before '*'
mpg123.h(1379): error C2365: 'off_t': redefinition; previous definition was 'typedef'
...
libmpeg2 0.5.1 was released in mid-2008, let's bump the requirement
and get rid of version-dependent code paths. There's still
avdec_mpeg2video for those who are stuck on ancient distros which
we don't target any more.
Also fixes build with MSVC, which doesn't like #if #else #endif
inside macro arguments (like the GST_DEBUG_OBJECT in line 941).
gstsiddec.cc:78:17: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
#define FORMATS "{ "GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
^
gstsiddec.cc:78:38: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
#define FORMATS "{ "GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
^
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples
https://bugzilla.gnome.org/show_bug.cgi?id=759432
The old code was using gst_caps_normalize() and was generally overly
complex. Simplify by picking sample rate and number of channels from
upstream and the sample format from the allowed caps. If the format caps
is a list of strins, just pick the first one. And if the srcpad isn't
linked yet, use the default format (S16).
https://bugzilla.gnome.org/show_bug.cgi?id=740195
Support reverse playback for ASF format.
Parse packets and queue the payloads, then push
the payload buffer to decoder in reverse order.
Video buffers are pushed from KeyFrame to next
Keyframe.
https://bugzilla.gnome.org/show_bug.cgi?id=757341