Commit graph

26 commits

Author SHA1 Message Date
Thiago Santos 2768ed75e0 encodebin: Select muxer further
Sort muxers based on their caps and ranking before iterating to
find one that fits the profile.

Sorting is done by putting the elements that have a pad template
that can produce the exact caps that is on the profile. For example:
when asking for "video/quicktime, variant=iso", muxers that
have this exact caps on their pad templates will be put first on
the list than ones that have only "video/quicktime".

https://bugzilla.gnome.org/show_bug.cgi?id=651496
2011-09-05 17:48:36 -03:00
Thiago Santos 3687b056c4 encodebin: Set queues to silent=true
As encodebin doesn't connect to the queue signals, it can set
queues to silent mode to make queue not emit them.

Check https://bugzilla.gnome.org/show_bug.cgi?id=621299 for
more info on queue's silent property.
2011-08-03 14:14:55 -03:00
Thiago Santos b263bacc57 encodebin: Fix typo on installing properties
queue buffers and bytes properties have ids swapped, fix it.
2011-08-03 13:41:10 -03:00
Thiago Santos c874edd089 encodebin: rename flags names
Rename flags names from native-audio/-video to
no-audio/video-conversion to be more explicit on what it does
2011-07-28 11:21:26 -03:00
Luis de Bethencourt bf816fe816 encodebin: fix compiler warning
cspace and cspace2 may run uninitialized.
2011-06-30 19:57:22 +01:00
Robert Swain 7ad1ba6fba encodebin: Add flags to disable conversion elements
Add a flags property and two flags to allow one to disable the
conversion elements within encodebin. Doing so insists that the
uncompressed input to encodebin for the appropriate stream type is
sufficient to meet the caps requirements of the encoders, muxers and
encodebin target.

This is mostly beneficial to bypass slow caps negotiations in the
conversion elements.
2011-06-30 00:59:18 +02:00
Robert Swain dc79c42484 streamsplitter: Fix getcaps src pad caps merge
Caps returned from gst_pad_peer_get_caps_reffed () may not be writable.
If they are not is should cause an assertion in gst_caps_merge (),
however, sometimes assertions are disabled in binary builds of -base and
it's safer to just be sure the caps are writable. Also, check that the
reffed caps pointer is not NULL.
2011-06-29 11:57:52 +02:00
Thiago Santos b5fb542386 encodebin: Autoplug formatters
Autoplug formatters for streams if a formatter with secondary or
higher rank is found. Formatters are autoplugged when there is no
muxer or when the muxer doesn't implement the tagsetter interface.

Currently only the first formatter found is plugged, this might
help in lots of cases, but it doesn't solve the
'lamemp3 ! xingmux ! id3mux'
case.

https://bugzilla.gnome.org/show_bug.cgi?id=649841
2011-05-19 08:35:46 -03:00
Thiago Santos 0060900d68 encodebin: fix typos 2011-05-19 08:30:03 -03:00
Thiago Santos fd486588ce encodebin: Check for missing converters
Adds checks for missing video and audio converter elements
2011-05-15 13:02:39 -03:00
Sebastian Dröge 67d2f852ff encodebin: Set all elements to NULL and remove them from the bin when removing a source group 2011-04-14 12:23:10 +02:00
Alessandro Decina 030f639a8e android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
David Schleef 12513a9537 Remove setting of plugindir from Makefiles 2011-04-01 13:55:56 -07:00
Thiago Santos 4ee738be59 encodebin: Tear down old profiles when setting new ones
In NULL/READY, we should be able to switch profiles on encodebin,
this patch makes it tear down old profiles when new ones are set
if in NULL/READY states

https://bugzilla.gnome.org/show_bug.cgi?id=644416
2011-03-10 15:12:01 -03:00
Sebastian Dröge 8067bcc54f encodebin: Return a new reference of the pad for the "request-pad" signal
The GObject signal code assumes that the signal handlers return a
new reference or copy. Fixes bug #641927.
2011-02-24 15:55:00 +01:00
Edward Hervey 4c68f3b597 encodebin: Add a audioconverter after the audio resampler.
This allows handling non-native-endianness conversion properly.
2011-02-18 16:08:55 +01:00
Thiago Santos b43db2f2a2 streamsplitter: release pending events refs
Unref pending events when disposing the streamsplitter.

Also refactor a little to replace a for with a g_list_foreach
2011-01-26 12:52:41 -03:00
Edward Hervey 251400a69b encodebin: Add missing-plugin support
https://bugzilla.gnome.org/show_bug.cgi?id=638903
2011-01-07 13:18:20 +01:00
Edward Hervey d7bdf0d49a encodebin: Extend documentation
https://bugzilla.gnome.org/show_bug.cgi?id=638901
2011-01-07 12:52:37 +01:00
Edward Hervey 19201c1ab0 encoding: encoding_profile_get_output_caps => _get_input_caps
Makes more sense name-wise
2011-01-05 22:02:35 +01:00
Edward Hervey cdd0a9c8bb encodebin: Convert to new GstElementClass::request_new_pad_full vmethod 2011-01-05 19:30:50 +01:00
Edward Hervey c76a6ef8ea encodebin: Also use "Formatter"s for container formats 2010-12-22 18:23:26 +01:00
Alessandro Decina b11303319c encodebin: minor fix in error handling.
Don't call gst_bin_remove (bin, <invalid pointer>).
2010-12-22 13:56:12 +01:00
Edward Hervey d20b84f1d2 encodebin: Fix usage of non-container profiles 2010-12-21 13:07:27 +01:00
Rob Clark aa07af41f3 fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:

encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Edward Hervey 8a3b45aa1f gst: New encoding plugin
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00