Edward Hervey
a004f0bc34
ffmpegdemux: Define our own MAX_STREAMS
2011-04-21 20:56:45 +02:00
Edward Hervey
f16291a6cc
ffmpeg: Disable code using old metadata API
...
It is now gone and we need to switch to the new API
See #566605
2011-04-21 20:56:45 +02:00
Edward Hervey
5aa722965c
ffmpegdemux: The index_built AVFormatContext hasn't been used in over 2 years
2011-04-21 20:56:45 +02:00
Edward Hervey
fd80f177c9
codecmap: _XVID is gone
...
It was always a bogus one, since it used the external libxvid for encoding.
2011-04-21 20:56:45 +02:00
Edward Hervey
78ae6a34cb
ffmpeg: PKT_FLAG_KEY => AV_PKT_FLAG_KEY
2011-04-21 20:56:44 +02:00
Edward Hervey
dfd26c36f3
ffmpeg: AVERROR_* => AVERROR(*)
2011-04-21 20:56:44 +02:00
Edward Hervey
2f81d0d63b
ffmpeg: CodecType => AVMediaType
2011-04-21 20:56:44 +02:00
Edward Hervey
446c50e052
gstffmpeg: register_protocol => av_register_protocol2
2011-04-21 20:56:44 +02:00
Wim Taymans
6d4cdb2877
ffmpeg_use G_DEFINE_TYPE
2011-04-19 19:04:36 +02:00
Wim Taymans
198fa2571b
Merge branch 'master' into 0.11
2011-04-19 19:03:06 +02:00
Marc Plano-Lesay
9c42b7cae9
Fix unused-but-set-variable warnings with gcc 4.6
2011-04-19 16:21:20 +01:00
Edward Hervey
c35c1d1446
gstffmpeg(de)mux: Disable known broken (de)muxers
...
Idea provided by David Schleef
Support provided by Michael Smith and Tim Mueller
Food and Drinks provided by Toronado
2011-04-09 01:17:24 +02:00
Stefan Kost
dd7b219c42
ffmpeg: don't divide by 0 when checking the framerates
...
Check for denom==0 first and set it to on in that case.
2011-04-08 11:42:33 +03:00
Wim Taymans
6444bd2557
dec: avoid making the buffer writable
...
Set the caps right after allocation of the buffer because we know the buffer is
writable then and we are correctly negotiated. Since ffmpeg keeps around
references to frames, making the buffer metadata writable where it was done
before pushing will always end up with a copy and that makes the sink do a slow
memcpy all the time.
2011-04-07 12:34:51 +02:00
Wim Taymans
8faa991476
Merge branch 'master' into 0.11
...
Conflicts:
ext/ffmpeg/gstffmpegdec.c
2011-04-07 12:11:37 +02:00
Wim Taymans
450a4fdb51
dec: Fixes
...
Set caps on buffers right after we allocate them to avoid refcounting problems
and having to make the buffer metadata writable for no good reason.
Don't unmap the memory with a 0 size or we would modify the memory size when
it's not needed.
2011-04-07 12:02:57 +02:00
Miguel Angel Cabrera Moya
f63d36ade8
ffmpegdec: do buffer padding before parsing and before decoding
...
FFMpeg parsing and decoding calls require to additionally allocate bytes
at the end of the input bitstream and this padding must be initialized
to zero.
https://bugzilla.gnome.org/show_bug.cgi?id=595590
2011-04-05 14:14:38 +02:00
Wim Taymans
8095b31f9c
ffmpeg: port to new memory API
2011-04-04 13:18:13 +02:00
Wim Taymans
4345d10577
WIP: porting to 0.11
2011-04-04 12:23:05 +02:00
Wim Taymans
88271530e4
ffmpeg: disable resample
2011-02-28 12:13:17 +01:00
Wim Taymans
7a225ab604
codecmap: use new g_value getters
2011-02-28 12:13:17 +01:00
Tim-Philipp Müller
8d40c6357d
ffmpegdec: improve error message when set_caps is called but we have no mapping
...
This may happen e.g. if gst-ffmpeg is compiled against an external
libavcodec and the external lib is upgraded.
See e.g.
https://bugzilla.gnome.org/show_bug.cgi?id=640825
2011-01-31 23:28:33 +00:00
Edward Hervey
a2a4ee93c4
codecmap: Add mapping for g722
2011-01-25 16:34:04 +01:00
Edward Hervey
5429138b89
codecmap: Add proper caps name for Camstudio
2011-01-24 18:29:24 +01:00
Edward Hervey
7879105579
gstffmpegdemux: Ignore more pseudo demuxers
2011-01-24 18:29:00 +01:00
Edward Hervey
9a1d1fef32
gstffmpegmux: Blacklist some muxer formats
2011-01-24 17:43:44 +01:00
Edward Hervey
cc4a11831d
gstffmpegcodecmap: Add some new codec mappings
...
VP8
LAGARITH
GSM
GSM_MS
2011-01-24 17:26:20 +01:00
Edward Hervey
ed1b1eefaf
ffmpegprotocol: Slight API change
2011-01-24 17:26:20 +01:00
Edward Hervey
2de5aaf22d
ffmpegdec: Set the mp3 decoder to a rank of NONE
...
It's just causing too many headaches. This will force people to use
a working mp3 decoder, like mad.
2011-01-07 18:08:15 +01:00
Edward Hervey
051e2de3d3
ffmpegdec: Fix unitialized variables on macosx
2011-01-05 16:59:55 +01:00
Edward Hervey
a90df26e15
ffmpegenc: Disable non-audio/video encoders
...
Fixes #629648
2011-01-03 11:45:04 +01:00
Wim Taymans
22d44c87b1
ffmpgdec: work around parser timestamp bug
...
Sometimes the parser loses track of timestamps and starts to reuse old
timestamp. Feed it some dummy data and clear some context variables to work
around the problem.
2010-12-21 12:14:22 +01:00
Sebastian Dröge
dde194dc1a
ffvideoscale: Change classification to Filter/Converter/Video/Scaler
2010-12-16 10:12:02 +01:00
Sebastian Dröge
a5910b4ec4
ffdeinterlace: Change classification to Filter/Effect/Video/Deinterlace
2010-12-16 10:05:03 +01:00
Wim Taymans
ec48b24291
dec: scale the estimated duration by number of frames
...
When estimating the frame duration, the diff between two incomming timestamps
should be scaled by the amount of frames in the interval. Improves duration
estimation and DTS interpolation.
2010-12-12 12:38:55 +01:00
Wim Taymans
957c728b3d
dec: use input timestamp diff for duration estimation
...
Use the diff between input timestamps to estimate the duration when no duration
is set on input buffers. Only do this when there are no reordered input
timestamps. Improves interpolation in DTS mode when no input duration is set.
2010-12-12 11:20:22 +01:00
Mark Nauwelaerts
e837ec505d
ffmpegenc: ensure proper clean state prior to (re-)negotiation
...
Fixes #632691 .
2010-10-25 12:16:44 +02:00
Wim Taymans
d82633c4e3
ffdec: don't destroy the parser state
...
When we flush the parser cache, we only need to clear the bytes of the cache,
not the complete state of the cache. In the case of H264 this doesn't require
the parser to receive a new SPS/PPS after a DISCONT buffer.
2010-10-22 13:05:16 +02:00
Wim Taymans
cc2a6e493b
ffdec: be more careful with DTS timestamp interpolation
...
Don't use -1 and 0 duration buffers to calculate next output timestamp as they
are very likely wrong.
Fixes #632877
2010-10-22 13:05:16 +02:00
Stefan Kost
07ce1d1906
various: add missing G_PARAM_STATIC_STRINGS flags
2010-10-19 17:26:08 +03:00
Sebastian Dröge
51fe1a04e6
ffmpeg: Add mapping for YUVA420P <-> A420
...
This is used by VP6a, which is used by Flash.
See bug #613901 .
2010-10-15 11:23:26 +02:00
Edward Hervey
51a0e1270f
ffmpegdec: Fix debug statements
2010-10-12 16:17:51 +02:00
Wim Taymans
3f213c1b73
ffdec: use a better algorithm to detect DTS timestamps
...
Add function to reset the timestamp tracking.
Check for reordered timestamps on the input buffers and assume PTS input
timestamps when we see reordered timestamps.
Recover from an occasionally wrong input timestamp by also tracking the output
timestamps. When we detect a reordered output timestamp, assume DTS input
timestamps again.
Fixes #611500
2010-10-07 17:46:22 +02:00
Wim Taymans
a0bc6f6e9d
ffdec: add debug line
2010-10-06 18:51:24 +02:00
Wim Taymans
48e612afda
ffdec: add fixmes
2010-10-06 18:23:57 +02:00
Wim Taymans
b41aab3690
ffdec: add some comments
2010-10-06 18:15:03 +02:00
Wim Taymans
76d9685202
ffdec: Add timestamp tracking
...
Use ffmpeg reordered_opaque to track an id that combines all timing info we have
for a frame. The ids are kept in a 255 item cache.
Fixes #631075
2010-10-06 17:42:30 +02:00
Wim Taymans
edb79396f2
ffdec: remove broken TSHandler
...
Remove the TShandler code, it is broken when QoS is enabled and ffmpeg provides
much easier methods for tracking timestamps.
Simplify pcache joining.
2010-10-06 17:42:30 +02:00
Wim Taymans
4aa9b97d3f
ffcodecmap: avoid setting large framerates
...
When the framerate is bigger than 1000/1, set it to 0/1 instead. This avoids
letting the videosink do QoS on these very small frame durations.
2010-10-06 16:58:52 +02:00
Wim Taymans
c330cdcc5d
ffdec: rename time variable
...
Rename the time variable to avoid confusion with the time function.
Add some debug to the QoS update function.
2010-10-06 16:58:40 +02:00
Wim Taymans
7d531c06bb
ffenc: pass the input size to the encoder
...
Pass the input buffer size to the encoder instead of the expected output size.
This is needed to make fixed input/output encoder work.
2010-10-06 16:58:34 +02:00
Sebastian Dröge
37357063bf
ffmpegdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-08-27 18:29:15 +02:00
Tim-Philipp Müller
e0984904c3
ffdeinterlace: some minor clean-ups
...
Don't use studlyCaps; gboolean != GstFlowReturn; use gst_caps_set_simple()
instead of creating a GValue just to set a boolean field on a caps structure.
See #622736 .
2010-07-18 20:15:32 +01:00
Edward Hervey
f9c8fac537
ffmpegmux: Use "Formatter/Metadata" klass when needed
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
25db74ec41
ffmpegmux: Add more replacements
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
6191dbb7dd
codecmap: Fix the caps of various mov/amr formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
38c2b3788e
gstffmpegmux: Set rank of blacklisted muxers to GST_RANK_NONE
...
https://bugzilla.gnome.org/show_bug.cgi?id=623671
2010-07-06 14:02:09 +02:00
Edward Hervey
00e177458c
ext: Fix CFLAGS order
...
We'd pick up system-wide ffmpeg headers otherwise
2010-07-05 15:48:41 +02:00
Mark Nauwelaerts
1d0b29414a
ffmpegenc: fix timestamp resyncing some more
...
Convert bytes to samples in remaining occurrence.
See #623388 .
2010-07-05 11:10:09 +02:00
Thiago Santos
b8f556a566
ffmpegenc: Fix timestamp resyncing
...
Properly convert bytes into time using sample size, sample rate
and channels number, instead of sample rate only.
This can cause huge timestamp discontinuities (even though the
durations remain correct) and might cause problems to muxers.
Fixes #623388
2010-07-03 11:57:09 -03:00
Edward Hervey
2f6086e495
ffmpegmux: Add rtp to the blacklisted muxers
2010-07-02 17:21:27 +02:00
Edward Hervey
edeb185374
codecmap: Specify the quicktime variant for mov and mp4 formats
2010-07-02 12:40:03 +02:00
David Schleef
00d87bcd83
ffmpegmux: Add alternate element in description
...
For muxers where there is a better GStreamer alternative, add
"(not recommended, use alternate_element_name instead)" to
the description.
https://bugzilla.gnome.org/show_bug.cgi?id=622773
2010-06-27 10:38:25 +02:00
David Schleef
52e8d62513
ffmpegmux: Disable raw muxers
...
They are effectively identity elements. Many are already
disabled via blacklist.
https://bugzilla.gnome.org/show_bug.cgi?id=622773
2010-06-27 10:38:24 +02:00
Andoni Morales Alastruey
7f12d83a39
ffdeinterlace: Set "interlaced=false" in the source pad's caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=622736
2010-06-25 17:26:56 +02:00
Albert Lee
f310322e90
gstffmpegcodecmap: Fix ATRAC1/3 caps
2010-06-11 08:23:34 +02:00
Zaheer Abbas Merali
22a343207c
ffmpegdec: fix typo in comment
2010-06-04 18:30:59 +01:00
Edward Hervey
c28097b6c4
codecmap: First round of type mapping wrapping : image formats
2010-05-31 18:53:12 +02:00
Edward Hervey
2fccd4640f
ffmpegdec/enc: Blacklist more raw formats
2010-05-31 18:44:02 +02:00
Tim-Philipp Müller
dc2efe2d24
ffmpegdec: sipro decoder should have higher rank than realaudiodec
2010-05-25 12:55:14 +01:00
Edward Hervey
f9c2467241
ffmpegdec: Don't leak the GstDataPassThrough items
2010-05-17 19:43:24 +02:00
Olivier Crête
83820511a8
gstffmpegenc: Make getcaps proxy the downstream height/width/framerate requirements
...
See #577784 .
2010-05-10 15:41:57 +02:00
Olivier Crête
2b891aff61
codecmap: Respect the various h263 options
...
See #577784 .
2010-05-10 15:41:45 +02:00
Olivier Crête
21e855d167
gstffmpegcfg: Expose loop-filter flag
...
See #577784 .
2010-05-10 15:41:07 +02:00
Edward Hervey
0fb014fdbe
ffmpegcodecmap: Add mapping for SIPR
2010-05-08 13:47:56 +02:00
Sebastian Dröge
a450bd027f
build: Add all kinds of compiler warning flags and fix the resulting warnings
2010-03-24 12:07:28 +01:00
Sebastian Dröge
2e079b742a
ffmpeg: Use gst_element_set_details_simple()
2010-03-24 11:51:53 +01:00
Edward Hervey
3230d4da09
gstffmpegcodecmap: Give a proper mapping for NSV format
2010-03-23 18:53:24 +01:00
Raimo Järvi
9637ff5ab1
ffdec: Update caps if the aspect ratio changes
...
Fixes bug #613231 .
2010-03-18 14:08:51 +01:00
Thiago Santos
b234d0b308
ffdec: Make metadata writable before setting caps
...
In case we haven't created the output buffer, we should make
metadata writable before setting caps on it.
Fixes check unit tests.
2010-03-11 10:13:46 -03:00
Thiago Santos
c300a0a9f2
ffdec_aac: Do not parse raw format
...
If the stream is 'raw' format, do not use parsers.
Re-enables the aac decoder by putting it back to default
ffdec rank.
Fixes #566250
2010-03-11 09:55:49 -03:00
Edward Hervey
7162290afe
ffmpegdemux: Use av_free_packet.
...
Fixes #611782
2010-03-04 08:59:19 +01:00
Edward Hervey
d4e63b2727
gstffmpegdec: Disable direct-rendering for svq1/vp56 decoders.
...
They use a non-standard stride which we can't support.
Fixes #610613
2010-03-03 19:03:19 +01:00
Edward Hervey
38b71e40e6
gstffmpegcodecmap: Remove 'format' specified for wmv3 decoder.
...
Allows WMVA (Advanced Profile) videos to be properly auto-linked.
Doesn't introduce a regression for VC1 files.
Fixes #611722
2010-03-03 18:35:40 +01:00
Edward Hervey
bb2acca229
gstffmpegdec: Handle durations in reordered frames
...
The buffer durations were not being reordered along with the timestamp
and offset of the buffers, resulting in buffers using the duration of the
latest incoming frame instead of their original frame.
Fixes #611398
2010-03-01 12:52:19 +01:00
Mark Nauwelaerts
6cf7cadf9b
ffmpegdec: do not store timestamp for buffer that will be skipped
...
Fixes #610481 .
2010-02-19 20:33:06 +01:00
Edward Hervey
cc4d502d30
gstffmpegdec: Don't enable xvmc decoders, we can't support the output
2010-02-18 13:29:35 +01:00
Edward Hervey
5678ff1ac0
gstffmpegcodecmap: Add mapping for Indeo 5
2010-02-18 13:29:35 +01:00
Edward Hervey
9c497b6010
gstffmpegcodecmap: Add mapping for Windows Media Speech
2010-02-18 13:29:35 +01:00
Wim Taymans
430b8eb74d
ffdec: fixup QCELP to always be mono
...
Make QCELP always mono, even if the caps tell us a different layout.
2010-02-04 17:08:41 +01:00
Wim Taymans
14e8ce8816
ffmpegdec: only clip to a smaller region
...
When we have an input width/height that should be used for clipping, only
perform the clipping if the rectangle is smaller than the actual picture size.
Fixes #330681
2010-02-04 13:28:11 +01:00
Wim Taymans
8312a8f89d
ffdec: free audio buffer when not decoded
...
When we don't decode an audio frame (for audio codecs that need a previous audio
frame) free the buffer we allocated.
See #608564
2010-02-01 15:26:43 +01:00
Wim Taymans
d3f9ee4309
ffmpegcodecmap: don't escape codec_data
...
Don't escape the codec_data, it breaks some streams (but likely also fixes
others). It's better to leave it as is, like most other players do.
See #608332
2010-01-29 14:00:28 +01:00
Edward Hervey
4f9de70744
ffmpegmux/demux: Blacklist ASS/SSA 'demuxers'.
...
They're not a container format, but a subtitle format, and we already
have plugins to handle those subtitle formats.
2010-01-25 16:40:58 +01:00
Edward Hervey
25073856e4
ffmpegcodecmap: Add proper mapping for Zip Block Motion Video
2010-01-23 15:34:28 +01:00
Edward Hervey
0c938fa10d
ffmpegcodecmap: Add proper mapping for LOCO Lossless codec
2010-01-23 14:41:49 +01:00
Edward Hervey
399bb4667b
gstffmpegcodecmap: Make a proper mapping for Autodesk Animator Codec
2010-01-23 13:51:24 +01:00
Alessandro Decina
c5f16de56f
Revert a change I accidentally introduced in 7c91fb.
...
I removed the plugin name from an error message for no good reason.
2010-01-22 13:48:24 +01:00
Alessandro Decina
7c91fb4cf4
Fix compiler warnings under OS X.
2010-01-22 11:43:59 +01:00
Edward Hervey
56172c60af
gstffmpegcodecmap: Add mappings for new codecs
...
WMAPro
Dolby TrueHD
Atrac1
TwinVQ
2010-01-13 19:50:10 +01:00
Mark Nauwelaerts
8236e74ca4
ffmpegenc: more consideration for upstream (audio) timestamps
2010-01-12 18:17:40 +01:00
Tim-Philipp Müller
a657f789d3
ffmpegdec: ignore all vdpau decoders
...
Make check for vdpau decoders more generic. There might be vdpau
decoders we don't expect when using an external ffmpeg version,
and we want those blacklisted as well (e.g. ffdec_mpeg4_vdpau).
2009-12-09 15:27:14 +00:00
Jan Schmidt
faa417cf34
caps: Use default audio channel layouts for some codecs
...
For a few white-listed codecs, use default fallback channel
layouts when ffmpeg doesn't inform us.
2009-11-22 12:28:12 +01:00
Olivier Crête
b69fcc471e
ffenc: Make keyframe forcing thread-safe
...
Make the keyframe forcing thread-safe, also emit a downstream event
to allow muxers or payloaders to react appropriately.
https://bugzilla.gnome.org/show_bug.cgi?id=602556
2009-11-20 22:14:51 -05:00
Edward Hervey
a00fb254aa
Move encoders and muxers to GST_RANK_SECONDARY.
2009-11-18 17:36:48 +01:00
Wim Taymans
59bc425174
ffdec: remove clipping hack
...
Remove a hack that seems to produce wrong clipping values.
2009-11-16 13:55:01 +01:00
Jan Schmidt
62d54db07d
ffmpeg: VC-1/WMV3 fixes.
...
Use format field in the pad caps to differentiate VC-1 from WMV3.
Fix a typo in the caps creation and parsing - the field is called
'format' - not 'fourcc'
Add a dodgy hack to populate the extradata size field
(first byte) when it is 0 - as it seems to be for some (Matroska)
test files.
2009-11-11 18:53:36 +00:00
Sjoerd Simons
19e81024a3
Always give the most video restricted caps possible
...
When the video caps aren't fixed yet, make sure we return the most
precise set of caps. It seems a regression was introduced in cc082f,
causing restricted caps to never be used if the context == NULL
None of the restricted caps generation uses the context, so no need to
check whether the context.
Fixes bug #578160 .
2009-11-10 12:30:50 +01:00
Edward Hervey
a1384f990b
ffmpegdec: Only restore default in AVCodecContext when needed.
...
Resetting default values is currently very complex in libavcodec, so
we only call it when needed (i.e. when a context was previously used).
Shaves off 10% of the setup of a decoder.
2009-11-09 19:21:35 +01:00
Tim-Philipp Müller
72cd8f1843
ffmpegdec: printf format fixes
2009-11-05 23:54:47 +00:00
Edward Hervey
019a6020e4
ffdec: Don't use an allocated 1-entry structure for private data.
...
If there's only one entry, just use that entry.
2009-11-02 09:06:46 +01:00
Edward Hervey
bd1b315c43
ffmux: avoid generating caps when registering
...
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:40 +01:00
Edward Hervey
e8c689fe94
ffdemux: avoid generating caps when registering
...
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:05 +01:00
Edward Hervey
a7dd30d8eb
ffenc: avoid generating caps when registering
...
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:05 +01:00
Wim Taymans
343c82b18c
ffdec: avoid generating caps when registering
...
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-10-22 16:27:28 -04:00
Sebastian Dröge
2ed8b6728d
ffmpegenc: Add a note to the buffer-size property description
...
Setting it has no effect anymore and is deprecated.
2009-10-08 13:54:45 +02:00
Sebastian Dröge
087582d7cd
Revert "ffenc: Make the buffer-size property read-only"
...
This reverts commit 98439aacc7
.
Instead of printing a warning when trying to set the property
it should do nothing as before and the property description
should contain a note that setting it has no effect.
2009-10-08 13:52:22 +02:00
Sebastian Dröge
98439aacc7
ffenc: Make the buffer-size property read-only
...
...instead of just doing nothing when setting it. This makes sure
that people notice that they shouldn't set the property because
it creates a warning now.
2009-10-08 12:29:30 +02:00
Sebastian Dröge
c914f08b40
ffenc: Make sure to always provide large enough buffers
...
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200
Also make setting of the buffer-size property a no-op.
Fixes bug #593651 .
2009-10-07 09:15:40 +02:00
Sebastian Dröge
3a96bed6e6
ffmpegenc: Use dash instead of underscore in property names
...
GLib internally converts them to dashs anyway.
2009-10-07 09:13:56 +02:00
Sebastian Dröge
ee31435d49
Revert "ffmpegenc: Use dash instead of underscore in property names"
...
This reverts commit b814d25cc9
.
2009-10-01 17:03:49 +02:00
Sebastian Dröge
25003e4307
Revert "ffenc: Make sure to always provide large enough buffers"
...
This reverts commit d9f6febe70
.
2009-10-01 17:03:42 +02:00
Sebastian Dröge
799b19c2f2
Revert "ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too"
...
This reverts commit 577525af3d
.
2009-10-01 17:03:33 +02:00
Sebastian Dröge
577525af3d
ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too
...
Just to make sure we never get below it in case of very small videos.
2009-10-01 16:46:34 +02:00
Sebastian Dröge
d9f6febe70
ffenc: Make sure to always provide large enough buffers
...
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200
Also make setting of the buffer-size property a no-op.
Fixes bug #593651 .
2009-10-01 16:44:22 +02:00
Sebastian Dröge
b814d25cc9
ffmpegenc: Use dash instead of underscore in property names
...
GLib internally converts them to dashs anyway.
2009-10-01 16:20:13 +02:00
Wim Taymans
b85d889582
ffdec: correctly check for NONE timestamp
2009-09-10 14:11:18 +02:00
Wim Taymans
669a0e359a
ffmpeg: add support for G721
...
Add support for g721, which is like G726 but with 1 channel, 8KHz and a bitrate
of 32000.
Fixes #594454
2009-09-09 13:35:20 +02:00
Jonathan Matthew
595de04316
codecmap: don't set channel-positions for common mono and stereo cases
2009-09-08 15:29:24 +02:00
Wim Taymans
46bf3b92d0
ffdec: disable interpolation when dropping frames
...
When we are dropping frames because of QoS disable the DTS interpolation because
we won't be able to update the timestamps and end up setting the wrong
timestamps. Instead, simply use the timestamps from ffmpeg.
2009-09-01 21:42:26 +02:00
Tim-Philipp Müller
0044128487
typefinders: skip ffmpeg typefinders if there isn't enough data
...
ffmpeg typefinders don't do bounds checking for small chunks of
data, so just skip them if we don't have a lot of data, to avoid
invalid memory access and/or crashes.
2009-08-21 02:58:58 +01:00
Wim Taymans
2b967b4122
ffdec: reset timestamp queue after flush
2009-08-18 13:20:55 +02:00
Tim-Philipp Müller
37875a95eb
Lower minimum sample rate in generic template caps from 8000 to 4000
...
Fixes playback of ADPCM clip (#591809 ).
2009-08-14 16:09:05 +01:00
Sebastian Dröge
5497a8d140
ffmpegdec: Fix strict aliasing warnings
2009-08-13 17:38:32 +02:00
Sebastian Dröge
6923de9378
ffmpegdec: Don't use guintptr as it's new in GLib 2.18
...
Fixes bug #591469 .
2009-08-12 10:57:18 +02:00
Edward Hervey
305e80e7d6
gstffmpeg: Lower debugging levels from WARNING to DEBUG
...
These statements aren't critical per se... and just clutter debug logs.
2009-08-10 12:04:39 +02:00
Sebastian Dröge
0111edbf5d
ffmpegenc: Return all supported caps instead of only the first
2009-08-09 09:47:26 +02:00
Sebastian Dröge
d181dbd7a0
ffmpegenc: If an encoder lists the supported pixfmts use them to create the caps
...
...instead of creating standard caps with all pixfmts.
Fixes bug #591038 .
2009-08-08 22:43:06 +02:00
Sjoerd Simons
ea6a66b5b3
ffmpegdec: Fix duration calculation when ticks_per_frame isn't 1
...
Fixes bug #591163 .
2009-08-08 22:20:03 +02:00
Sebastian Dröge
1c283b8c22
ffmpegdec: Fix compiler warning and indention
2009-08-06 06:57:18 +02:00
Руслан Ижбулатов
54428c186b
ffmpegdec: Assign offsets to outgoing buffers more accurate
...
This now uses ffmpeg functionality to keep random metadata next to
the buffers and to get the correct offset for a frame, similar to how
timestamps are handled.
Fixes bug #578278 .
2009-08-06 06:57:09 +02:00
Edward Hervey
56887682d0
gstffmpegenc: Try getting the caps for the declared pixfmt without a context.
...
PixFmt that are declared in AVCodec.pix_fmts are ones which are 'officially'
declared as being supported. We should therefore not have to create a
AVCodecContext and open an encoder to know if it's supported or not.
Also, doing it this way allows us to better pickup configuration overrides
we have in gstffmpegcodecmap for some codecs (like restrictions on width,
height, framerate like it's the case for dnxhd).
Fixes #575545
2009-07-31 13:27:28 +02:00
Olivier Crête
597f32e895
ffmpegdec: Disable theora decoder
...
The wrapper does not give the decoder the extradata correctly.
Just use theoradec.
Fixes bug #590172
2009-07-29 14:49:56 -04:00
Руслан Ижбулатов
a5f9485917
Codec frame delay fix and trailing zero-length frame fix
...
Takes codec frame delay into account (roughly the same way it does for timestamps for reordered frames) to produce frames with correct offsets.
A special hack to allow trailing frame with timestamp=segment.stop to be displayed.
Fixes bug #578278 .
2009-07-29 14:19:20 +02:00
Tim-Philipp Müller
508ab716b0
ffmpegdemux: use gst_element_found_tags() for global tags
...
So we get a message on the bus *and* tag events pushed downstream.
2009-07-28 23:58:02 +01:00
Tim-Philipp Müller
d917f59a84
ffmpegdemux: cache events from upstream and re-send them later
...
Cache any events we get from upstream before we're open, especially
tag events we may be getting from apedemux/id3demux or the like, and
push them downstream later when we've added our pads instead of just
dropping them silently. Fixes transcoding tags for Monkey's Audio
Files with preceding APE or ID3v2 tags (#586957 ). Add minimal unit
test for this.
Also push stream tags later after the global tags and the newsegment
event rather than right after creating the pad.
2009-07-28 23:58:02 +01:00
Jordi Mas
c27b4babf1
ffmpegmux: Add proper audio mapping for DVD muxer. Fixes #588546
2009-07-20 11:48:45 +02:00
Tim-Philipp Müller
2f8f014d9b
ffmpegmux: don't leak caps if type already exists
...
We don't know if gst_element_register() will replace the known type
or reject it, so we really need to free the caps before.
2009-07-01 10:45:32 +01:00
Tim-Philipp Müller
048b0145a8
ffmpegdemux: post tags after the initial newsegment event
2009-07-01 10:45:32 +01:00
Wim Taymans
fe10ecd097
ffdec: don't wait for keyframe after discont
...
After a DISCONT, mark the next frame with DISCONT but don't wait for a new
keyframe. This greatly improves performance on lossy networks or currupted
frames as the decoder can usually continue and conceil errors up to the next
keyframe.
2009-07-01 11:23:59 +02:00