Sebastian Dröge
b8343b4a14
playsink: Force the aspect ratio if the sink has such a property
2012-02-23 11:05:11 +01:00
Sebastian Dröge
2c565f72df
playsink: Only use the sink's colorbalance interface if it supports at least brightness/contrast/hue/saturation
2012-02-22 14:57:31 +01:00
Sebastian Dröge
68220a1893
playsink: Only really use software volume if requested
2012-02-22 12:08:35 +01:00
Sebastian Dröge
dfa508ffa1
playsink: Add a software color-balance element before the sink if the sink doesn't support changing the color-balance
2012-02-22 12:08:10 +01:00
Sebastian Dröge
018bb2ca6f
playsink: Implement GstStreamVolume interface
2012-02-22 10:23:26 +01:00
Wim Taymans
4370d42cb9
playback: find raw caps correctly
2012-02-20 15:21:37 +01:00
Sebastian Dröge
68c0790817
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/propertyprobe.c
sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
Mark Nauwelaerts
be34d4c78e
playsink: verify linking to overlay element
2012-01-19 16:43:32 +01:00
Mark Nauwelaerts
e5f6675ea3
playsink: avoid finding sink in NULL bin in corner case
2012-01-19 16:43:30 +01:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Havard Graff
95be60de15
Fix various unlikely, but still potential memoryleaks in error code paths
...
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +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
5440ae3c18
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +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
59113af604
Use the new GstSample for snapshots
...
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Wim Taymans
b4cdf008dd
fix for element flag cleanups
2011-11-28 16:55:32 +01:00
Vincent Penquerc'h
96374054ac
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00: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
7ac25e9b26
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkaudioconvert.h
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00
Wim Taymans
57fe2addef
update for request pads change.
2011-11-03 17:58:57 +01:00
Vincent Penquerc'h
ae3ba53391
playsink: handle after-the-fact changes in converters/volume booleans
...
The playsink was nastily poking a boolean in the structure.
Make those booleans properties, so we are told when they change,
and rebuild the conversion bin when they do.
Some cleanup to go with it too.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:02:31 +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
Wim Taymans
73b894107a
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisdec.c
ext/vorbis/gstvorbisenc.c
ext/vorbis/gstvorbisenc.h
gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Robert Swain
ef4a4a0e94
playsink: Add audio- and text-sink props
2011-10-05 12:45:49 +02:00
Wim Taymans
a00927ad03
Merge branch 'master' into 0.11
2011-10-04 17:58:49 +02:00
Robert Swain
ddcda53714
playsink: Add video-sink property
...
The video-sink property allows manual specification via g_object_set ()
of the video sink element to be used.
2011-10-04 16:24:01 +02:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Josep Torra
8f8ad316ce
Revert "playsink: only add text overlay if vido sink also accepts raw caps"
...
This reverts commit a22faad18a
. Instead
of disabling subtitles completelly when video stream have custom caps,
just let the sutbtileoverlay cope with them as now it's able to.
2011-09-14 11:05:45 +02:00
Sebastian Dröge
0f654f3feb
Merge branch 'master' into 0.11
...
Conflicts:
docs/libs/Makefile.am
tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Josep Torra
a22faad18a
playsink: only add text overlay if vido sink also accepts raw caps
...
Fixes regression, pipeline fails with not negotiated, on media
containing subtitles when decoder/sink with custom caps is used.
2011-09-07 16:08:38 +02:00
Wim Taymans
7012e88090
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudiodecoder.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudioencoder.h
gst/playback/Makefile.am
gst/playback/gstplaybin.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
gst/videoscale/gstvideoscale.c
win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Tim-Philipp Müller
b1c00adf31
Revert "playsink: Try include 'pitch', if no other sink is provided"
...
This reverts commit 105814e2c7
.
The general consensus seems to be that we should revert this for
now. If such behaviour is desired, we should probably enable it
via a flag. And maybe use the scaletempo plugin instead.
2011-09-05 14:44:27 +01:00
Sebastian Dröge
705ca1d55a
playsink: Don't leak the videochain ts-offset element
...
Also don't leak the audiochain ts-offset element if one is
found but the sink doesn't support volume settings.
2011-09-05 12:02:37 +02:00
Sebastian Dröge
89a899fd9d
playsink: Use gst_object_unref() instead of g_object_unref() for better debugging
2011-09-05 11:55:59 +02:00
David Schleef
924f743981
playback: Add define for colorspace element
...
Single point of change if you want to switch from ffmpegcolorspace
to colorspace.
2011-09-01 11:41:31 -07:00
Sebastian Dröge
49b301bcd6
playsink: Only unref ts_offset elements if they're not NULL
2011-08-31 14:45:08 +02:00
Jan Schmidt
105814e2c7
playsink: Try include 'pitch', if no other sink is provided
...
As a default, try the pipeline 'pitch ! audioconvert ! autoaudiosink'
before trying plain autoaudiosink
2011-08-30 18:21:31 +10:00
Wim Taymans
811a8961bf
playsink: fix ts_offset refcounting
2011-08-29 13:33:49 +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
David Schleef
a912374342
playback: reference count ts_offset
...
Apparently this object is being used after it's freed. This is one
way to fix it, although perhaps not the best way. Fixes : #656715 .
2011-08-25 14:08:34 -07:00
Wim Taymans
ba41bb5ca7
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst/playback/gstplaysink.c
2011-08-18 19:36:50 +02:00
Edward Hervey
2ee31ccac9
playsink: Reconfigure when pads are added later
...
Instead of just assuming all pads are created at the same time,
remember which ones are actually new (via ->pending_blocked_pads).
This allows the following use-case to properly work:
* Upstream starts with audio-only
* Only that pad gets data, blocks and a real audio sink is created
* Upstream laters adds a video stream
* A new pad is requested, blocks and reconfiguration kicks in in
order to add a new real video sink
2011-08-18 13:42:26 +02:00
Wim Taymans
e904c529e3
fix for _negotiated_caps() change
2011-08-15 12:18:15 +02:00
Mark Nauwelaerts
ebfd6acde1
playsink: only unset initialized GValue
2011-06-28 19:03:23 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Wim Taymans
35bec59536
ffmpegcolorspace: remove plugin
2011-06-15 18:01:04 +02:00
Wim Taymans
f565812e25
playback: changes for message API changes
2011-06-08 13:45:41 +02:00
Wim Taymans
3b09cfe54d
playsink: refactor block/unblock code a little
2011-06-02 12:08:22 +02:00
Wim Taymans
f91c753959
probes: port to new API for blocking and probes
2011-06-01 19:34:54 +02:00
Wim Taymans
c7428aeaae
playbin: fixed for new pad block API
2011-05-30 18:36:14 +02:00
Wim Taymans
8501753033
-base: change for changed set_blocked API
2011-05-26 16:18:16 +02:00
Sebastian Dröge
01c798605a
playsink: Use correct number of parameters to gst_pad_get_caps()
2011-05-16 17:08:45 +02:00
Sebastian Dröge
d0362c2b87
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/alsa/gstalsasrc.c
gst-libs/gst/audio/gstbaseaudiosink.c
gst-libs/gst/tag/gstxmptag.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
9337a293e1
playsink: Use new ghostpad/proxypad API to get the internal pad
2011-05-14 11:42:33 +02:00
Sebastian Dröge
2f8467d682
playsink: Add audio and video converter convenience bins
...
These reconfigure based on the caps and plugin in converters if
necessary. This also makes switching between compressed and raw
streams work flawlessly without loosing the states of any element
somewhere or having running time problems.
2011-05-14 11:42:32 +02:00
Sebastian Dröge
105da803ad
playbin2/playsink: Decide if A/V caps are raw only inside playsink
...
Before playbin2 would use different selectors for raw audio and
compressed audio (and the same for video) and used different
pads from playsink. This made the involved logic much more
complex and was not implemented completely in playsink, which
made it impossible to support files with a compressed and
uncompressed stream that is support by the sink.
playbin2 handles raw/non-raw streams the same now and the
decision is left to playsink, which now can also handle
caps changes from raw to non-raw and the other way around.
Fixes bug #632788 .
2011-05-14 11:42:32 +02:00
Wim Taymans
7cad11e912
-base: fix for now request pad API
2011-05-10 16:44:37 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
64851f12c0
gst: Update for new GstIterator API
2011-05-05 16:03:52 +02:00
Wim Taymans
e1869fa267
Merge branch 'master' into 0.11-fdo
2011-03-28 20:13:59 +02:00
Sebastian Dröge
c27cd709bf
playsink: Update comment about why an audio queue is needed
2011-03-24 14:22:00 +01:00
Sebastian Dröge
65320a04ab
Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
...
This reverts commit df886c0622
.
2011-03-24 14:21:01 +01:00
Sebastian Dröge
df886c0622
playsink: Only add a queue before the audio sink if visualizations are enabled
...
The queue is not needed otherwise and will add some delay to track
switches.
2011-03-24 14:04:54 +01:00
Sebastian Dröge
2c057f745f
playsink: Remember automatically created sinks for future reconfigures
...
Also allow reuse of sink elements in error cases.
2011-03-23 15:08:13 +01:00
Wim Taymans
03c710d6cd
miniobject: fix for changed miniobject
2011-02-28 11:50:03 +01:00
Mark Nauwelaerts
19052a847d
playsink: release all chains when going to NULL
...
Also fixes #642466 .
2011-02-23 14:33:40 +01:00
Mark Nauwelaerts
102b4feddf
playsink: undo state change side effect on error way out
...
... to avoid subsequent cleanup disposing an element not in NULL state.
2011-02-23 14:33:35 +01:00
Mark Nauwelaerts
948e4d50a6
playsink: avoid crashing on the way out when needed chain missing
2011-02-23 10:33:44 +01:00
Sebastian Dröge
66ce6200a8
playsink: gen_video_chain() always returns a bin, no need to check for that
2010-12-02 19:04:28 +01:00
Sebastian Dröge
fe856a3f7c
playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that
2010-12-02 19:04:28 +01:00
Jan Schmidt
ee303c441d
playsink: Fix subpicture overlay when deinterlacing disabled.
...
Fix a bug when reconfiguring the playsink where the subpicture
stream is broken by attempting to connect it through
streamsynchroniser and second time.
2010-10-28 23:15:43 +01:00
Edward Hervey
168aceb3da
playback: Switch to using gst_video_convert_frame
...
https://bugzilla.gnome.org/show_bug.cgi?id=629157
2010-09-14 08:42:43 +02:00
Edward Hervey
e75e7dfa80
playback: Set queues silent property to TRUE
...
We don't use the queue signals within playsink.
2010-08-31 10:12:54 +02:00
Mark Nauwelaerts
2379e96bbc
playsink: remove some heuristic in chain configuration code
...
.. since queues are now inserted unconditionally.
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts
6c5b437118
playbin2/playsink: update subtitle handling for streamsynchronizer
...
Streamsynchronizer excepts to see stream-changed msg for all streams, but to
arrange for this, video and subtitle streams need to be decoupled by means
of queues (due to pad blocks that may occur).
Fixes #626463 .
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts
ff8bdcfe94
playsink: always have a queue in chain head to aid streamsynchronizer
...
Specifically, as the latter may have one thread pushing EOS to several streams,
that needs to be decoupled into various thread to prevent preroll hanging
problems.
2010-08-12 10:52:58 +02:00
Mark Nauwelaerts
1a40681f53
playsink: set READY sinks to NULL before freeing chain upon failure
2010-08-12 10:52:58 +02:00
Edward Hervey
b93edac480
playsink: Switch to faster pad linking methods
...
Logic for choice of GST_PAD_LINK_CHECK_* is as follows:
* Where return of pad_link wasn't checked before : NOTHING
* Where linking is between known compatible elements : NOTHING
* All other cases : TEMPLATE_CAPS
Slashes down playsink reconfigure by up to 50% cpu time.
2010-07-20 21:05:45 +02:00
Sebastian Dröge
c199a560a9
playsink: Set add-borders=true on the videoscale instances
...
This makes sure that we always keep the display aspect ratio and
add black borders if necessary, which is usually something you want
for viewing a video.
2010-07-19 15:59:17 +02:00
Sebastian Dröge
a16024d9fb
playsink/streamsynchronizer: Remove and deactivate pads after calling the change_state function of the parent class
...
Fixes some deadlocks.
2010-07-16 18:51:35 +02:00
Sebastian Dröge
405b47a79a
playsink: Fix gapless playback in many non-simple scenarios
...
Before gapless playback failed when switching between audio-only,
video-only and audio-video files, when choosing different clocks
and when the different streams had different durations.
This is now handled by a helper element, which keeps track of the
running times of all streams and synchronizes them.
Fixes bug #602437 .
2010-07-16 17:40:46 +02:00
Mark Nauwelaerts
5e7ff51d19
playsink: use proper error message code for failing state change
2010-07-16 13:26:26 +02:00
Wim Taymans
7379202cca
playsink: clear ts-offset pointer
...
We need to clear the pointer to our ts-offset element when we destroy the video
chain elements to make sure nobody derefs it to invalid memory afterwards.
2010-06-23 12:10:32 +02:00
Edward Hervey
97e14fda28
playsink: Reset ts_offset field when freeing chain
...
Otherwise we would end up with a bogus ->audiochain->ts_offset field
which would cause segfaults/assertions when trying to modify the
'ts-offset' property in update_av_offset().
Was easy to trigger when using a list of audio+video files mixed with
video-only files in totem.
2010-06-23 10:16:07 +02:00
Wim Taymans
ecc9a28152
playbin2: add av-offset property
...
Add av-offset property to control the audio and video sync offset. This can be
used to to manually correct badly synced streams.
See #620529
2010-06-07 14:38:42 +02:00
Wim Taymans
31ef191f01
playsink: add convert-frame action signal
...
Add a convert-frame action signal.
Fixes #620279
2010-06-05 11:09:41 +02:00
Wim Taymans
afcf3a3517
playbin2: move convert_frame to playsink
...
Move the convert_frame function to playsink and make it part of the API. This is
in preparation to add the convert_frame signal to playsink.
See #620279
2010-06-05 11:09:40 +02:00
Wim Taymans
823089cf68
playsink: add property to get the last frame
...
Add a property to get the last video frame.
See #620279
2010-06-05 11:09:40 +02:00
Sebastian Dröge
0c85f2c890
playsink: Don't fail if subtitles are used but only audio is available and no visualizations
...
Instead simply disable displaying of the subtitles for now, as was
intended by that part of code...
Fixes bug #610866 .
2010-05-14 17:17:33 +02:00
Sebastian Dröge
e5304c3040
playsink: Fix deadlock caused from an additional lock instead of unlock
...
Also improve debug output for the playsink lock.
2010-05-14 17:13:17 +02:00
Mark Nauwelaerts
85a8a09ce7
playsink: disconnect signals in some more cleanup cases
2010-05-06 15:41:52 +02:00
Sebastian Dröge
eec0f7c876
playsink: Add support for deinterlacing
...
This is disabled by default and can be enabled with the
deinterlace flag.
Fixes bug #547603 .
2010-04-29 18:21:21 +02:00
Sebastian Dröge
6c9ead7030
playsink: Correctly reconfigure the video chain when switching from a subtitle to a non-subtitle file
...
Fixes bug #616422 .
2010-04-29 18:21:21 +02:00
Edward Hervey
8db7eb4037
gstplaysink: Remove unused variable.
...
The value of klass is never used
2010-04-01 13:55:15 +02:00
Robert Swain
6515b43e40
playsink: Fix aduio_raw_sink typo
2010-03-30 15:10:42 +02:00
Sebastian Dröge
bd2277d214
playsink: Avoid g_object_set() on NULL if a text sink is used
...
Fixes bug #611702 .
2010-03-15 14:26:28 +01:00