Commit graph

46 commits

Author SHA1 Message Date
Vineeth TM
8e5f7f27f5 gstreamer: base: Fix memory leaks when context parse fails.
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753852
2015-10-02 17:26:27 +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
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
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
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
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
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
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
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
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
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
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
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
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