Commit graph

195 commits

Author SHA1 Message Date
Vineeth TM
b632b206e1 tools: discoverer: When info is NULL just print error and return
In case discover_uri returns NULL info, passing the info to discoverer APIs
result in critical assertion errors. Hence instead of passing NULL info along,
print the error and return.

https://bugzilla.gnome.org/show_bug.cgi?id=753701
2015-08-19 10:20:58 +03:00
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