Guillaume Desmottes
d7d8fc5652
discoverer: fix GstToc leak when parsing toc messages
...
gst_message_parse_toc() returns a reffed GstToc which is owned by the
GstDiscovererInfo. But we have to make sure we unref its previous value before
setting the new one.
https://bugzilla.gnome.org/show_bug.cgi?id=747103
2015-04-17 14:49:01 +01:00
Thibault Saunier
dcf8c3e8b0
discoverer: Set 'processing = FALSE' when done discovering SYNC
...
This avoids a race where we would get new tag but we are already
prerolled and analyzing results.
It is the way it is supposed to be handled as stated in comment:
"If preroll is complete, drop these tags - the collected information is
possibly already being processed and adding more tags would be racy"
2014-08-15 13:40:17 +02:00
Thibault Saunier
235e462077
pbutils: discoverer: Always set the pipeline back to NULL after an error
...
Otherwize the pipeline would be in an wrong state and on the next
iteration any kind of error could happen
Everytime an error happens in a pipeline the application has to set the
pipeline back to NULL instead of READY.
https://bugzilla.gnome.org/show_bug.cgi?id=733976
2014-07-30 15:28:21 +02:00
Thibault Saunier
622007e7db
discoverer: Add APIs to simply get installer details for missing plugins
...
Currently the API is far from optimal and the user has to work around
our badly defined API to simply install missing plugins.
API:
new:
gst_discoverer_info_get_missing_elements_installer_details
deprecated:
gst_discoverer_info_get_misc
gst_discoverer_stream_info_get_misc
https://bugzilla.gnome.org/show_bug.cgi?id=720596
2014-05-03 21:48:55 +02:00
Tim-Philipp Müller
26a57f9a89
discoverer: minor docs fix
...
Can use a custom main context as well if needed.
2014-01-18 15:01:58 +00:00
Stefan Sauer
c07af869a7
discoverer: also filter 'framed' field when looking for same streams
...
Fixes extra streams for some mp4 files containing aac audio.
2013-10-15 11:17:56 +02:00
Stefan Sauer
b5bcd73015
discoverer: filter 'parsed' field when checking for same caps
...
We're checking the caps to see if we got more caps details after a parser got
plugged. This will also have a flipped 'parsed' field. If the field was already
present before the parse the match will fail. Add a function that will do the
check while excluding this field.
2013-10-07 23:21:05 +02:00
Stefan Sauer
82b6fff272
discoverer: don't shadow local variables
2013-10-07 22:55:46 +02:00
Stefan Sauer
9230a6af6a
discoverer: early return when we have no streams
2013-10-07 22:55:46 +02:00
Stefan Sauer
2e1b1699fe
discoverer: also log stream-id
2013-10-07 22:55:46 +02:00
Stefan Sauer
2af0831696
discoverer: fix quark-mismatch for toc and stream-id
...
Seems like a copy'n'paste from 15ee41df
.
2013-10-07 21:18:54 +02:00
Stefan Sauer
b13385f96a
discoverer: report depth for video
...
This was returning 0 in all cases. Use the data from GstVideoFormatInfo instead.
2013-10-05 21:03:33 +02:00
Stefan Sauer
20cdbc83f3
discoverer: extract some common code
...
Extract code to make a GstDiscovererInfo. Extracts code that sets StreamInfo.
2013-10-02 22:26:39 +02:00
Edward Hervey
556687b94b
discoverer: Switch to playing to handle live URI
...
Fixes discovery on dvb://
2013-09-19 12:58:53 +02:00
Tim-Philipp Müller
a34e0420b6
discoverer: document that "finished" and "discovered" signals are only emitted in async mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=660195
2013-08-13 20:40:47 +01:00
Sebastian Dröge
15ee41dfc9
discoverer: Add support for getting the stream-id
...
https://bugzilla.gnome.org/show_bug.cgi?id=654830
2012-11-20 14:57:42 +01:00
Sebastian Dröge
e223e313b6
discoverer: Use switch/case instead of lots of ifs for the event handling
2012-11-20 14:37:51 +01:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Mark Nauwelaerts
c629a44162
replace gst_tag_list_free with gst_tag_list_unref
2012-09-14 17:53:21 +02:00
Tim-Philipp Müller
c4bd7c2391
discoverer: port to new GLib thread API
2012-09-10 01:10:33 +01:00
Tim-Philipp Müller
9b8cbec590
discoverer: extract audio depth correctly
...
But we should only do that if it comes straight from a
container or wavparse, not if it comes from a decoder,
otherwise it's probably not really meaningful.
2012-09-09 21:11:20 +01:00
Tim-Philipp Müller
bd12b82538
discoverer: reflow some code to avoid gst-indent ping-pong
2012-09-09 19:48:54 +01:00
Tim-Philipp Müller
2079a8c12b
Remove glib-compat-private.h stuff we don't need any more
...
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Tim-Philipp Müller
7c2e7b1a4f
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
5b715cdb90
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 21:36:15 +01:00
Wim Taymans
e6b606cfa3
discovere: also parse encoded formats
...
The video library can now also parse encoded formats so use this to fill up the
width/height and other properties.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681535
2012-08-13 11:27:47 +02:00
Wim Taymans
1e8827ed33
discoverer: remove \n from debug statement
2012-08-13 11:27:26 +02:00
Tim-Philipp Müller
26ec6d49a1
docs: expand GstDiscoverer::discovered signal docs a little
2012-08-10 17:08:31 +01:00
Руслан Ижбулатов
8f33ad80d0
discoverer: Add source-setup signal for GstDiscoverer
...
https://bugzilla.gnome.org/show_bug.cgi?id=681260
2012-08-06 14:42:25 +02:00
Tim-Philipp Müller
284f96765c
pbutils: use generic marshaller for discoverer's "discovered" signal
...
If this change causes build issues, run git clean -x -d -f; ./autogen.sh
2012-08-05 14:06:14 +01:00
René Stadler
39aa4dc674
discoverer: fix discover_uri returning finalized info object
2012-07-31 01:19:36 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Tim-Philipp Müller
a9d12f7bae
pbutils: update discoverer for GstToc API changes
2012-06-24 22:47:05 +01:00
Anton Belka
42cb4bdf67
discoverer: Add TOC support to discoverer and add -c/--toc parameters to gst-discoverer utility
2012-05-21 08:52:05 +02:00
Vivia Nikolaidou
34d6031974
discoverer: Ported fix for bug #673504 to 0.11
2012-05-11 16:44:15 +02:00
Vivia Nikolaidou
4d9d707e32
discoverer: Wait until an update/filler newsegment event or buffer for subtitle streams
...
This makes sure that we wait until we received all tags for the
subtitle streams and have all information that is collected by
the discoverer.
Fixes bug #673504 .
2012-05-11 16:44:15 +02:00
Sebastian Dröge
c84108de3c
video: Update for libgstvideo API changes
2012-04-19 12:30:57 +02:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Jonathan Matthew
bc1fb43408
discoverer: don't change result for missing plugin errors
...
https://bugzilla.gnome.org/show_bug.cgi?id=671047
2012-03-03 13:50:34 +00:00
Wim Taymans
e44dd9db8f
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/pbutils/gstdiscoverer.c
2012-02-16 14:23:28 +01:00
Tim-Philipp Müller
e40ea30972
discoverer: try harder to obtain a duration if we don't get one right away
...
If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.
Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).
2012-02-14 19:36:43 +00:00
Tim-Philipp Müller
24749aa2db
discoverer: mark GError argument of "discovered" signal with STATIC_SCOPE
...
So the error is passed to the callback as is without a copy being made.
2012-02-01 19:34:22 +00:00
Tim-Philipp Müller
ef75dd6e90
discoverer: use G_TYPE_ERROR instead of GST_TYPE_G_ERROR
2012-01-22 01:47:14 +00:00
Tim-Philipp Müller
68785cc2e7
discoverer: fix up for GstTagList != GstStructure
2012-01-12 23:25:22 +00:00
Tim-Philipp Müller
0461ed2ada
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c
tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h
ab7e72ad70
discoverer: fix structure leak
...
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
2012-01-12 14:27:25 +00:00
Vincent Penquerc'h
96e40584ce
discoverer: fix caps and discoverer object ref leaks
2012-01-11 12:16:28 +00:00
Vincent Penquerc'h
9ab18d7a68
discoverer: add a few consts where appropriate
2012-01-11 11:55:59 +00:00
Vincent Penquerc'h
7ad6431837
discoverer: fix pad leak
2012-01-11 11:55:36 +00:00
Tim-Philipp Müller
b155e094ed
discoverer: use GST_TYPE_TAG_LIST for tag lists
...
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller
5f20af6ce5
discoverer: fix potential tag list leaks
...
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller
b794f78d26
discoverer: fix potential caps leak
...
in last else chunk.
2012-01-10 18:29:21 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Tim-Philipp Müller
1031fedaf0
discoverer: make is_subtitle_caps thread-safe
2012-01-07 19:39:42 +00:00
Tim-Philipp Müller
fb6d09055a
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsadeviceprobe.c
ext/alsa/gstalsamixer.c
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
gst-libs/gst/audio/gstaudiobasesink.c
gst-libs/gst/audio/gstaudioringbuffer.c
gst-libs/gst/audio/gstaudiosrc.c
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst/encoding/gststreamcombiner.c
gst/encoding/gststreamsplitter.c
gst/playback/gstplaybasebin.c
gst/playback/gststreamsynchronizer.c
gst/playback/gstsubtitleoverlay.c
gst/playback/gsturidecodebin.c
sys/xvimage/xvimagesink.c
tests/examples/Makefile.am
win32/common/libgstvideo.def
Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Tim-Philipp Müller
0d98aa25b8
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0
various: typo fixes
...
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
308f6301a8
update for pad probe api changes
2011-11-08 11:08:21 +01:00
Wim Taymans
616e9b706e
fix for new pad probe types
...
Restore the previous behaviour by only blocking downstream items and not
upstream events.
2011-11-07 17:10:48 +01:00
Wim Taymans
5bdfd6d899
structure: fix for api update
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
b52c5819fb
Update for pad API changes
...
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:34:28 +00:00
Edward Hervey
8268a7a20e
discoverer: Only call gst_video_info_from_caps on raw video
2011-10-11 17:42:35 +02:00
Wim Taymans
dc2b00adb8
pbutils: port to new API
2011-08-29 11:38:01 +02:00
Wim Taymans
e1287b97ab
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Tim-Philipp Müller
67a12c9c72
pbutils: don't depend on libgstvideo just to parse some caps
...
Let's extract those ints and fractions ourselves and not depend
on libgstvideo.
2011-08-27 14:57:41 +01:00
Vincent Penquerc'h
921b92ce06
discoverer: retrieve audio track language from tags too
...
https://bugzilla.gnome.org/show_bug.cgi?id=657257
2011-08-26 10:05:51 +02:00
Vincent Penquerc'h
e51cbc136b
discoverer: consider subtitles as raw
...
Otherwise, discoverer will generated an "inner" codec
where there can be a tranformation (eg, kate -> DVD SPU,
and various ->text/x-pango-markup).
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:51 +02:00
Vincent Penquerc'h
143a620701
discoverer: add application/x-kate to subtitles caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Vincent Penquerc'h
8438bc038a
discoverer: get language from other tags if we did not get it already
...
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Vincent Penquerc'h
4b5bfb1fd4
discoverer: add subtitles API
...
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Wim Taymans
e904c529e3
fix for _negotiated_caps() change
2011-08-15 12:18:15 +02:00
Tim-Philipp Müller
3d25fe33ea
gst-libs: update for query API changes
2011-07-27 01:16:08 +01:00
Edward Hervey
c49bc45b1b
discoverer: decodebin2 is dead, long live decodebin
2011-07-15 12:32:25 +02:00
Wim Taymans
f372ec1f54
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
docs/plugins/inspect/plugin-gnomevfs.xml
2011-06-21 17:57:56 +02:00
Edward Hervey
b2b1a7be1b
discoverer: Allow GError* argument to be NULL
...
This is how other methods taking GError* arguments behave.
Fixes #652838
2011-06-18 11:16:19 +02:00
Wim Taymans
6a254de438
video: port to new API
...
Add support for palette again.
Rewrite setup code for videoconvert using the new video methods.
2011-06-17 15:39:50 +02:00
Wim Taymans
c88ee10c9b
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
David Schleef
0778efcfde
discoverer: fix c99-ism
2011-06-04 12:27:47 -07:00
Wim Taymans
f91c753959
probes: port to new API for blocking and probes
2011-06-01 19:34:54 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
2987ad9358
discoverer: Update for the new gst_pad_get_caps() signature
2011-05-16 15:35:40 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
556afdef97
message: don't acces the structure directly
2011-05-10 13:35:49 +02:00
Wim Taymans
95f7fd8edf
Merge branch 'master' into 0.11-fdo
2011-03-15 11:11:56 +01:00
Arun Raghavan
9ffb8859d7
discoverer: Don't wait for subtitle streams to preroll
...
Subtitle streams being parse can cause the pipeline to wait indefinitely
to PREROLL. This makes subtitle streams got to PAUSED even if no data is
available. This should not be a cause for concern as we don't expect to
get much data for subtitle streams other than language tags from the
container.
https://bugzilla.gnome.org/show_bug.cgi?id=632291
2011-03-08 23:02:18 +05:30
Wim Taymans
b967bf531b
pbutils: use GObject as the base class
...
We can't subclass miniobject so use GObject as the base class,
2011-02-28 11:50:03 +01:00
Arun Raghavan
8fc424bcbf
discoverer: Chain dispose() up to parent class
2011-02-22 13:49:12 +01:00
Arun Raghavan
8d2b69384a
discoverer: Keep a ref for the async timeout callback
...
This makes sure we maintain a ref on the discoverer object while the
async timeout callback is alive to prevent a potential crash if the
object is freed while the callback is pending.
https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Arun Raghavan
40c4fe8fbe
discoverer: Use g_signal_connect_object instead of g_signal_connect
...
We want to make sure the discoverer object passed to the various
callbacks doesn't become invalid if a callback is pending and the object
is free'd in the mean time.
https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Stefan Kost
7e06d35250
discoverer: don't leak parent tags
2011-02-16 12:01:03 +02:00
Stefan Kost
c201ff3de3
discoverer: improve logging (and reindent)
...
Add more logging for the tag merging and use the _OBJECT flavour more.
2011-02-16 12:01:03 +02:00
Arun Raghavan
e9ff48376b
discoverer: Use nominal bitrate if bitrate tag is unavailable
...
If the bitrate tag is unavailable, this falls back to the nominal
bitrate tag instead, if that is present.
https://bugzilla.gnome.org/show_bug.cgi?id=641860
2011-02-10 09:58:34 +02:00
Arun Raghavan
6ac2e5d384
discoverer: Drop new stream tags once preroll is done
...
This makes sure we do not touch the stream taglist once the pipeline has
been prerolled. Adding of stream tags happens in the pad event probe
which runs in a different thread from discoverer stream processing, so
modifying the tag list while discoverer might be processing it can
sometimes cause a crash.
https://bugzilla.gnome.org/show_bug.cgi?id=639778
2011-01-17 23:50:45 +00:00
Arun Raghavan
65a298fdee
discoverer: Validate timeouts before processing them
...
This avoids a race where the timeout callback is scheduled to run but we
get sufficient information to finish discovery before actually getting
around to executing the callback. See the documentation of
g_source_is_destroyed() for more details.
https://bugzilla.gnome.org/show_bug.cgi?id=639730
2011-01-17 23:50:45 +00:00
Arun Raghavan
e730ce71dc
discoverer: Make sure we call _stop() before being freed
...
This ensures that everything is properly cleaned up before the
GstDiscoverer object is freed. Specifically, it makes sure that we've
removed the async timeout callback before freeing the object to avoid a
potential crash later on.
https://bugzilla.gnome.org/show_bug.cgi?id=639755
2011-01-17 23:50:45 +00:00
Arun Raghavan
19d4a5ab4d
discoverer: Documentation updates
...
Some cosmetic changes and expands on some bits of the documentation to
make it more newbie-friendly.
2011-01-06 15:33:14 +01:00
Edward Hervey
9f6bcdd5ee
pbutils: More gtk-doc annotations
2010-12-21 18:52:04 +01:00
Edward Hervey
76afffd55f
gstdiscoverer: Don't leak tags
2010-12-19 13:45:01 +01:00