Commit graph

244 commits

Author SHA1 Message Date
Vivia Nikolaidou
cca823b490 tools: gst-play: Use g_build_filename instead of g_strconcat
When running gst-play against a directory name, and suffix the path with a
directory separator (e.g. tab completion), gst-play was printing two directory
separators in a row. g_build_filename fixes this, and additionally allows for
both '/' and '\' as separators on Windows.
2015-08-18 15:19:03 +03:00
Vineeth TM
6ee8b22c40 discoverer: free context and error during failures
When g_option_context_parse or gst_discoverer_new fails, then there will
be memory leaks for ctx and err variables. Free'ing the same.

https://bugzilla.gnome.org/show_bug.cgi?id=753701
2015-08-17 14:11:17 +02:00
Tim-Philipp Müller
2b0e71f4de tools: gst-play: seek at least in steps of a second
In case of very short files we might end up seeking in
steps of a fraction of a second, which is silly and gives
the impression that seeking doesn't actually work. Make
minimum seek step a second instead.
2015-07-24 10:15:21 +01:00
Tim-Philipp Müller
e2d8eabb3d tools: gst-device-monitor: fix props leak
CID 1311942
2015-07-16 10:54:29 +01:00
Wim Taymans
eddf604e66 device-monitor: print device properties 2015-07-15 18:22:28 +02:00
Vineeth TM
9efa9dfcc8 gst-play: fix memory leak
In gst-play, for GST_MESSAGE_ELEMENT bus message,
event is being allocated through
gst_navigation_message_parse_event, but not freed.

https://bugzilla.gnome.org/show_bug.cgi?id=752040
2015-07-07 09:26:03 +01:00
Vineeth T M
eec791a37f tools: gst-play: fix seeking issue
For positive seeking segment.stop value will be -1,
when we change rate to -1, then the stop value will be udpated
with the current position. And then again if we change rate to 1,
the segment.stop value does not get updated and remains as position
where we last changed rate to -1. Hence playback stops at that point.
In case of positive rates, call gst_element_new_seek with correct values

https://bugzilla.gnome.org/show_bug.cgi?id=751213
2015-06-19 10:09:24 -04:00
Tim-Philipp Müller
247a6aab9a tools: gst-play: error out instead of crashing if there's no playbin element 2015-06-16 22:32:49 +01:00
Vivia Nikolaidou
0aacd7f393 tools: gst-play: don't print 64 whitespaces next to the time indication
Printing 64 whitespaces to erase the "Paused" message (after \r) would make
it wrap to the next line on shorter terminals. Instead we only print the
amount of spaces needed. Also mark the "Paused" string for translation
while we're at it.
2015-06-09 20:08:15 +01:00
Tim-Philipp Müller
6ed7ea73cf tools: gst-play: add shortcuts to switch audio/subtitle/video tracks 2015-06-09 10:20:58 +01:00
Vivia Nikolaidou
4fdbe215dc tools: gst-play: sort directory entries
When adding a directory to the playlist, the order would be whatever
g_dir_read_name returned. Sorting these using natural sort order.

https://bugzilla.gnome.org/show_bug.cgi?id=750585
2015-06-08 20:25:40 +01:00
Luis de Bethencourt
22302db7fc tools: gst-play: remove unnecessary variable
The second assignment of sret is never used. We can remove the first assignment
and use the value directly instead.
2015-05-30 15:34:57 +01:00
Tim-Philipp Müller
83463b2061 tools: gst-play: keep configured playback rate and trick mode when seeking
Instead of resetting rate to 1.0
2015-05-24 18:58:51 +01:00
Tim-Philipp Müller
c7893ef59f tools: gst-play: mark more strings for translation 2015-05-24 18:46:21 +01:00
danny song
bd35bf5933 tools: gst-play: add keyboard shortcut help
https://bugzilla.gnome.org/show_bug.cgi?id=749740
2015-05-24 16:12:04 +01:00
Tim-Philipp Müller
b74d4f972a tools: gst-play: enable interative mode by default
And change --interactive option to --no-interactive.
2015-05-21 12:38:53 +01:00
Tim-Philipp Müller
5a8d1d2246 gst-play: add some more key navigation mappings
And don't feed multi-character key descriptors to the
event handler, it won't be what it expects.
2015-04-29 15:47:46 +01:00
Edward Hervey
bba3f57c8b tools: Add mouse/keyboard handling from messages
Allows the user to control playback with the window in focus

https://bugzilla.gnome.org/show_bug.cgi?id=747245
2015-04-29 15:47:49 +02:00
Tim-Philipp Müller
c680e324bc Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:42:34 +01:00
Tim-Philipp Müller
12ed0428a9 gst-play: fix compiler warning
‘return’ with no value, in function returning non-void
2015-02-28 13:31:41 +00:00
Tim-Philipp Müller
0e9dac0cc7 gst-play: add keyboard shortcut to cycle through trick modes
Make "t" activate trick modes and cycle through the various
modes.
2015-02-28 13:11:45 +00:00
Tim-Philipp Müller
a257fcf366 gst-play: fix indentation
Prevent gst-indent from messing up indentation, it
really doesn't like the G_GNUC_PRINTF thing here.
2015-02-28 11:37:27 +00:00
Tim-Philipp Müller
a2d29c2f8a gst-play: add new keyboard shortcuts to man page 2015-02-26 11:06:35 +00:00
Tim-Philipp Müller
b4c45935b7 gst-play: more fine-grained playback rate control
Use smaller steps for lower rates to allow more
fine-grained control. Handle jump across 0 properly
from both sides (just flip direction where we would
have gone down to 0 instead). Don't artificially
limit rates to +/- 10x. Print new rate.

https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 11:00:29 +00:00
Tim-Philipp Müller
0c8967348f gst-play: stash current playback rate in app structure
https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 11:00:26 +00:00
Víctor Manuel Jáquez Leal
c243f386c9 gst-play: support changing the playback rate in interactive mode
It is fun to have this feature, also it is useful for testing decoders.

https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 10:10:58 +00:00
Thiago Santos
921aa7c52b gst-play: do not set system's volume to 100% by default
Only change the volume if requested
2014-12-01 22:29:18 -03:00
Sebastian Dröge
90eb93c2ef Don't compare booleans for equality to TRUE and FALSE
TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.
2014-12-01 09:51:12 +01:00
Vincent Penquerc'h
e107ba97e2 gst-discoverer: error out on failure to copy
This should not really fail, but let's check return value
anyway as it guards against future changes.

Coverity 1135731
2014-10-30 11:42:02 +00:00
Sebastian Dröge
3e14b0edd6 gst-play: Fix format string compiler warning
gst-play.c:92:28: error: format string is not a string literal
      [-Werror,-Wformat-nonliteral]
  len = g_vasprintf (&str, format, args);
                           ^~~~~~
2014-09-22 10:40:01 +03:00
Tim-Philipp Müller
87cef8befc gst-play: add --quiet option to suppress output 2014-09-19 18:29:54 +01:00
Vivia Nikolaidou
a0dd71ad80 discoverer: Pretty-print topology tags
Call the code used in properties for topology tags too.
Side-effect achieved: more tags printed, buffers (e.g. images) shortened.
2014-07-22 09:33:35 +02:00
Sebastian Dröge
aa04403006 discoverer: Fix code style a bit
if (...)
  one_line;
else if (...) {
  many_lines;
} else
  one_line;

looks a bit confusing.
2014-07-21 13:53:17 +02:00
Vivia Nikolaidou
fe67cd3d00 discoverer: prettier image tag printing
Rather than dumping the serialized sample value, the code now
prints the number of bytes in the buffer, then the caps in a
human-readable format.

https://bugzilla.gnome.org/show_bug.cgi?id=733482
2014-07-21 12:42:32 +01:00
Tim-Philipp Müller
aa9fb3bc6f tools: add gst-device-monitor-1.0 utility
Just shows devices with basic info and exits. Or will
wait for more devices to show up or be removed with
the --follow option. It's also possible to pass filters
as command line arguments in the form DEVICE_CLASSES
or DEVICE_CLASSES:CAPS.
2014-06-27 11:07:21 +01:00
Tim-Philipp Müller
64b4b2a20a tools: play: use cubic volume factor when adjusting volume
This is more natural and better-suited for a playback application.
2014-05-23 19:21:35 +01:00
Sebastian Dröge
86c698a46f gst-play: Free playlist_file string if only printing the version 2014-05-19 11:17:33 +02:00
Anuj Jaiswal
59131a4ceb audio_sink and video_sink leakage fixed
https://bugzilla.gnome.org/show_bug.cgi?id=730010
2014-05-19 11:16:35 +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
Ravi Kiran K N
96efc280d5 gst-play: add option to supply media files from playlist file
https://bugzilla.gnome.org/show_bug.cgi?id=728845
2014-04-28 15:03:20 +01:00
Wim Taymans
1c5c49a94c play: Improve pipeline states
First set the pipeline to the PAUSED state to check if we are dealing
with a live pipeline or not. Then move to the desired state.

If we don't do this, it is possible that we receive a BUFFERING message
before we know that the pipeline is live and we would set the pipeline
to PAUSED and deadlock.
2014-04-21 15:40:33 +02:00
Wim Taymans
c268eab145 play: Update buffering state for live pipelines
Update the buffering variable, even for live pipelines so that we don't
print \n for each buffering message.
2014-04-21 15:40:32 +02:00
Tim-Philipp Müller
b04675a1dc tools: update gst-play-1.0 man page 2014-04-05 13:25:46 +01:00
Tim-Philipp Müller
6767d26cb2 tools: gst-play: add volume control 2014-02-14 20:16:27 +00:00
Sebastian Dröge
01bfc79766 gst-play: Support non-ASCII tags
By calling setlocale() to get us multi-byte/UTF-8 support.

https://bugzilla.gnome.org/show_bug.cgi?id=723164
2014-01-30 21:18:04 +01:00
Bastien Nocera
f2c1f91508 gst-discoverer: Support non-ASCII tags
By calling setlocale() to get us multi-byte/UTF-8 support.

https://bugzilla.gnome.org/show_bug.cgi?id=723164
2014-01-30 20:14:16 +01:00
Sebastian Dröge
2aa26a9807 gst-play: Handle CLOCK_LOST message
It is necessary for playbin gapless playback when switching
between audio-only and video-only files for example.
2014-01-17 15:13:15 +01:00
Tim-Philipp Müller
04ee9bbe1a tools: gst-play: add dot file dumping for pipeline graph debugging 2014-01-10 11:17:38 +00:00
Tim-Philipp Müller
2942b53cf6 tools: play: allow parse-launch strings for audio and video sink 2013-12-13 10:06:25 +00:00
Tim-Philipp Müller
da6d3cfacf tools: play: fix compiler warning on windows 2013-12-09 13:55:28 +00:00
Tim-Philipp Müller
9011bc1b54 tools: gst-play: quit on Q or Esc key 2013-11-29 09:04:20 +00:00
Tim-Philipp Müller
68afb292a2 tools: play: implement seeking via console in interactive mode
Arrow left and right to seek back of forward.
2013-11-24 14:38:25 +00:00
Tim-Philipp Müller
aab687505e tools: play: fix endless loop on unhandled keys
When debugging output is not enabled.
2013-11-24 14:33:51 +00:00
Tim-Philipp Müller
d6a6c2a3b1 tools: play: add keyboard controls for next/previous item in list
Make the '>' and '<' keys skip to the next or previous item in
the playlist.
2013-11-24 13:50:21 +00:00
Tim-Philipp Müller
5a36b793d6 tools: play: add --interactive switch and basic keyboard handling
Only pause/play with spacebar for now.
2013-11-24 01:08:48 +00:00
Tim-Philipp Müller
0f8040862f tools: play: add --shuffle command line option 2013-11-22 21:00:21 +00:00
Alessandro Decina
08bac91ae1 discoverer: fix build after last commit
Add a forward declaration for my_g_string_append_printf that specifies
G_GNUC_PRINTF. Turn off indent on it as it drives gst-indent crazy.
2013-11-04 11:35:55 +01:00
Alessandro Decina
d9c39b9fe0 discoverer: fix -Wformat-nonliteral warning 2013-11-04 11:19:26 +01:00
Stefan Sauer
a6cf3c8aac discoverer: extract helper to print common stream info
Save some lnes of code by using a helper for common stream info.
2013-10-03 19:52:58 +02:00
Tim-Philipp Müller
9613f79c1e tools: play: set playbin to NULL state on error to flush messages
Just flushing the bus doesn't work here for some reason, so set
playbin to NULL state, which seems to clear all error state and
makes sure we do play the next playable song and don't pick up
'ghost' error messages from previous files on the bus.
2013-09-07 19:14:50 +01:00
Tim-Philipp Müller
716f992c17 gst-play: move current playlist index along in about-to-finish 2013-08-21 16:02:00 +01:00
Tim-Philipp Müller
fd873b1067 gst-play: add --gapless mode
so we can test about-to-finish.
2013-08-21 15:39:30 +01:00
Tim-Philipp Müller
ab72118d29 tools: add man page for new gst-play-1.0 utility
https://bugzilla.gnome.org/show_bug.cgi?id=553520
2013-08-17 16:53:30 +01:00
Tim-Philipp Müller
8cd2d0a672 tools: add simple command-line gst-play utility for testing purposes
Differs from a plain gst-launch-1.0 playbin uri=... pipeline in that
it can take multiple arguments and as such allows testing of things
like gapless playback, switching between different formats and the
like. Very minimal at this point, we'll probably want to add
interactive controls and more options at some point.

https://bugzilla.gnome.org/show_bug.cgi?id=553520
2013-08-16 15:45:23 +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
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
Tim-Philipp Müller
31914e743d toos: fix build and distcheck some more
The .in file is gone now.
2012-08-19 17:05:04 +01:00
Tim-Philipp Müller
227be98c0b tools: remove gst-visualise script
Bit pointless really and clearly unused since the 0.8 days.
Also simplify Makefile while we're at it.
2012-08-18 21:38:14 +01:00
Tim-Philipp Müller
daab18b607 tools: remove man page for tool that no longer exists 2012-08-18 21:18:57 +01:00
Tim-Philipp Müller
65d65af79c tools: remove obsolete filterstamp.sh script
There's gst-element-maker in -bad now.
2012-08-18 21:16:41 +01:00
Tim-Philipp Müller
daa046c1b6 tools: add basic man page for gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=681905
2012-08-18 21:13:01 +01:00
Tim-Philipp Müller
2a6a450001 discoverer: remove unused 'silent' command line option 2012-08-17 23:32:17 +01:00
Anton Belka
b395ecbe3b gst-discoverer: clean up some code duplication
Use print_tag_foreach() instead of print_tag().

https://bugzilla.gnome.org/show_bug.cgi?id=679550
2012-07-07 23:23:06 +01:00
Sebastian Dröge
a9ee382e7a discoverer: Update for GstToc API changes 2012-07-05 12:29:00 +02:00
Tim-Philipp Müller
400511b71e gst-discoverer: print all entries for a certain tag
If there are multiple entries for a tag, print all of them
individually.
2012-05-26 19:53:50 +01:00
Tim-Philipp Müller
d9adf02a5a gst-discoverer: don't use GstStructure API on tag lists 2012-05-26 19:50:46 +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
Sebastian Dröge
0ec452409f discoverer: Fix another GstBuffer occurence to GstSample 2012-04-17 18:22:24 +02:00
Sebastian Dröge
c4f15da97f discoverer: Tags now contain GstSamples instead of GstBuffers 2012-04-17 17:32:01 +02:00
Alban Browaeys
6c8abf24cf libs: Link against internal tag library 2012-04-11 09:58:49 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02: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
656423bd65 gst-discoverer: remove extraneous variable 2012-01-19 16:43:35 +01:00
Tim-Philipp Müller
576bbb4fd8 Remove compatibility code cruft for old GLib versions 2012-01-18 17:22: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
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
19d17b8f24 tools: avoid unportable vararg macro construct in gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=667306
2012-01-05 12:23:08 +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
ff6cc8af82 tools, tests: g_thread_init() is deprecated in glib master
It's not needed any longer.
2011-12-04 17:16:36 +00:00
Stefan Sauer
9b96b1a58c build: add audio libs (pulled by pbutils) to avoid linking against system version 2011-11-04 15:37:42 +01: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
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
4b5bfb1fd4 discoverer: add subtitles API
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Tim-Philipp Müller
dd56714b14 ffmpegcolorspace -> videoconvert 2011-07-07 23:59:59 +01:00
Wim Taymans
6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +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
Wim Taymans
04f74e5642 plugins: more porting 2011-03-28 10:20:06 +02:00
Stefan Kost
399f528a33 discoverer: handle desc==NULL
It would otherwise be printed as (null) and mess up indentation (no \n).
2011-02-22 16:43:08 +02:00
Edward Hervey
fce99dc0be tools: Improve pretty-printing of tags
Avoids escaping strings for nothing and printing out useless buffer contents.
2011-01-06 08:48:04 +01:00
Edward Hervey
b40c0b875c tools: don't leak the GMainLoop 2011-01-06 08:48:03 +01:00