Alexandre Moreno [Tue, 27 Oct 2015 16:43:03 +0000 (00:43 +0800)]
playback/player: qt: add a destructor and release resources
Fixes #129
Alex Moreno [Tue, 27 Oct 2015 09:32:27 +0000 (17:32 +0800)]
playback/player: qt: consistent use of pixel sizes
See #124. We should switch everything to be device independent
at some point, but this at least gives us a consistent UI for the time being.
Alexandre Moreno [Sat, 24 Oct 2015 17:18:01 +0000 (01:18 +0800)]
playback/player: qt: hide playbar properly
Fixes #120
Alexandre Moreno [Sat, 24 Oct 2015 13:55:37 +0000 (21:55 +0800)]
playback/player: qt: bind video item size to window
Fixes #119
Alexandre Moreno [Sat, 24 Oct 2015 13:47:38 +0000 (21:47 +0800)]
playback/player: qt: elide long titles
Fixes #121
Alexandre Moreno [Sat, 24 Oct 2015 05:28:10 +0000 (13:28 +0800)]
playback/player: qt: add position update interval property
Sebastian Dröge [Fri, 23 Oct 2015 18:54:05 +0000 (21:54 +0300)]
playback/player: qt: Fix -Wunused-variable compiler warnings
Alexandre Moreno [Thu, 22 Oct 2015 15:05:35 +0000 (23:05 +0800)]
playback/player: qt: add stream selection support
Alexandre Moreno [Tue, 6 Oct 2015 15:19:03 +0000 (23:19 +0800)]
playback/player: qt: emit player signals from Qt event loop
Alexandre Moreno [Thu, 11 Jun 2015 17:47:56 +0000 (01:47 +0800)]
playback/player: Add Qt bindings and player
Jimmy Ohn [Sun, 4 Oct 2015 08:09:44 +0000 (17:09 +0900)]
playback/player: gst-play: trivial cleanup
Sebastian Dröge [Mon, 21 Sep 2015 12:20:24 +0000 (14:20 +0200)]
playback/player: gtk-play: Run gst-indent
Hyunjun Ko [Thu, 17 Sep 2015 13:24:44 +0000 (22:24 +0900)]
playback/player: gtk-play: change to use valid macro function
Jimmy Ohn [Tue, 15 Sep 2015 13:00:03 +0000 (22:00 +0900)]
playback/player: gtk-play: Modify switch statement in stream_info_get_string
In stream_info_get_string function, buffer variable is used
all switch case repeatedly. Also, return used in switch statement.
So, I have modified that cases.
Jimmy Ohn [Tue, 15 Sep 2015 12:54:38 +0000 (21:54 +0900)]
playback/player: gst-play: Check if the stream list is empty in print_all_stream_info
Add a check condition if the stream list is empty before using it.
Sebastian Dröge [Fri, 4 Sep 2015 15:11:25 +0000 (18:11 +0300)]
playback/player: gtk-play: Add compiler warning flags to the build and fix the warnings
Justin Kim [Thu, 3 Sep 2015 09:29:04 +0000 (18:29 +0900)]
playback/player: ios: remove implicit conversion of UIView to c pointer
Alexandre Moreno [Tue, 1 Sep 2015 16:53:46 +0000 (00:53 +0800)]
playback/player: gtk-play: Remove unused variable
Sebastian Dröge [Thu, 27 Aug 2015 07:53:43 +0000 (10:53 +0300)]
playback/player: gst-play: Remove useless variable initializations
They are set to something in the next line anyway.
Jimmy Ohn [Wed, 26 Aug 2015 09:57:13 +0000 (18:57 +0900)]
playback/player: gst-play: Check if the stream list is empty in print_all_stream_info before using it
Sebastian Dröge [Thu, 20 Aug 2015 07:50:30 +0000 (10:50 +0300)]
playback/player: gst-play: Fix leak of GError and GOptionContext on parsing errors
Sebastian Dröge [Tue, 18 Aug 2015 10:20:15 +0000 (13:20 +0300)]
playback/player: android: Fix video rendering after GstPlayerVideoRenderer refactoring
Sebastian Dröge [Tue, 18 Aug 2015 10:17:57 +0000 (13:17 +0300)]
playback/player: ios: Fix video rendering after GstPlayerVideoRenderer refactoring
trungdoan [Tue, 18 Aug 2015 09:34:19 +0000 (16:34 +0700)]
playback/player: iOS: Fix build issue
Fix build issue on iOS by adding additional files in lib/gst/player to
the iOS project.
Sebastian Dröge [Fri, 14 Aug 2015 15:13:39 +0000 (17:13 +0200)]
playback/player: player: Refactor video rendering API
There's a GstPlayerVideoRenderer interface now, which defines how video
rendering happens in GstPlayer. Included is an implementation for the
GstVideoOverlay interface, and inside the GTK example application one for
gtksink/gtkglsink.
Sebastian Dröge [Wed, 12 Aug 2015 14:00:15 +0000 (16:00 +0200)]
playback/player: player: Abstract the signal emission dispatching to a new interface
This allows to implement signal dispatching to other event loop systems than
GLib without having direct GLib support in the base GstPlayer class. A
implementation for the GLib main context is provided and used in the
applications and tests.
Sebastian Dröge [Thu, 30 Jul 2015 12:54:26 +0000 (15:54 +0300)]
playback/player: gtk-play: Fix indention
Brijesh Singh [Thu, 30 Jul 2015 12:35:04 +0000 (07:35 -0500)]
playback/player: gtk-play: if title is NULL then use uri basename in toolbar label
If stream title is not available in the stream then use file basename in
toolbar title label and full uri in window title bar.
Brijesh Singh [Thu, 30 Jul 2015 03:52:28 +0000 (22:52 -0500)]
playback/player: gtk-play: fix elapsed and remain time label
If elapsed or remain time is greater than 60 mins then add hours in
label text.
Víctor Manuel Jáquez Leal [Wed, 8 Jul 2015 18:56:47 +0000 (20:56 +0200)]
playback/player: gtk-play: handle keys
Add a mplayer alike key-binding.
Víctor Manuel Jáquez Leal [Wed, 15 Jul 2015 17:52:39 +0000 (19:52 +0200)]
playback/player: gtk-play: remove unused callback
Víctor Manuel Jáquez Leal [Wed, 15 Jul 2015 17:18:11 +0000 (19:18 +0200)]
playback/player: gtk-play: remove unused variables
Brijesh Singh [Sat, 27 Jun 2015 01:42:31 +0000 (20:42 -0500)]
playback/player: gtk-play: add support to build UI through gtkbuilder
- build toolbar ui from glade generated xml files
- build media info dialog from glade generated xml files
- add support to apply css style on widget
- multiple cleanups
Sebastian Dröge [Tue, 16 Jun 2015 07:54:25 +0000 (09:54 +0200)]
playback/player: gtk-play: Add close button to the playback speed dialog
Brijesh Singh [Mon, 15 Jun 2015 15:10:14 +0000 (10:10 -0500)]
playback/player: gtk-play: add playback rate control menu item
Sebastian Dröge [Mon, 15 Jun 2015 18:55:29 +0000 (20:55 +0200)]
playback/player: gtk: Also use gtksink if available
Víctor Manuel Jáquez Leal [Thu, 11 Jun 2015 17:49:59 +0000 (19:49 +0200)]
playback/player: gtk-play: remove unused variables
Sebastian Dröge [Thu, 11 Jun 2015 16:52:12 +0000 (18:52 +0200)]
playback/player: gtk: Inhibit the screen saver when playing something
Sebastian Dröge [Thu, 11 Jun 2015 16:42:38 +0000 (18:42 +0200)]
playback/player: gtk: Port to GtkApplication
And also clean up some other things.
https://github.com/sdroege/gst-player/issues/56
Sebastian Dröge [Thu, 11 Jun 2015 14:25:49 +0000 (16:25 +0200)]
playback/player: gtk: Remove redundant code
Sebastian Dröge [Thu, 11 Jun 2015 13:11:23 +0000 (15:11 +0200)]
playback/player: gtk: Use gtkglsink if available
Brijesh Singh [Thu, 4 Jun 2015 11:51:14 +0000 (06:51 -0500)]
playback/player: gtk-play: use volume-changed signal from player to update the volume slider.
Víctor Manuel Jáquez Leal [Tue, 9 Jun 2015 15:38:15 +0000 (17:38 +0200)]
playback/player: gtk-play: color balance dialog
Sebastian Dröge [Thu, 11 Jun 2015 11:09:25 +0000 (13:09 +0200)]
playback/player: gtk: Only go to PLAYING with the next file if we were in PLAYING state before
Otherwise setting a subtitle URI in PAUSED will automatically go to PLAYING.
Víctor Manuel Jáquez Leal [Tue, 2 Jun 2015 11:03:06 +0000 (13:03 +0200)]
playback/player: gtk-play: remove unused variables
Víctor Manuel Jáquez Leal [Tue, 9 Jun 2015 15:37:50 +0000 (17:37 +0200)]
playback/player: gtk-play: destroy dialog's parent window
danny song [Wed, 3 Jun 2015 16:45:51 +0000 (01:45 +0900)]
playback/player: gtk-play: remove duplicate code
danny song [Wed, 3 Jun 2015 17:49:55 +0000 (02:49 +0900)]
playback/player: gtk-play: move play_current_uri after the signal handler registration
Sebastian Dröge [Sat, 30 May 2015 09:35:25 +0000 (11:35 +0200)]
playback/player: player: Change visualization API a bit to be more user friendly and fix some leaks and other bugs
Sebastian Dröge [Sat, 30 May 2015 08:48:34 +0000 (10:48 +0200)]
playback/player: Fix indention
Brijesh Singh [Tue, 19 May 2015 15:38:06 +0000 (10:38 -0500)]
playback/player: gtk-player: add visualization selection menu item.
Brijesh Singh [Tue, 19 May 2015 15:34:49 +0000 (10:34 -0500)]
playback/player: gtk-play: add external subtitle selection menu
Sebastian Dröge [Wed, 13 May 2015 19:30:48 +0000 (22:30 +0300)]
playback/player: ios: Cast the seek slider value from float to integer after scaling
https://github.com/sdroege/gst-player/issues/33
Brijesh Singh [Mon, 11 May 2015 13:07:48 +0000 (08:07 -0500)]
playback/player: gtk-play: move duplicate code into one function
Sebastian Dröge [Mon, 11 May 2015 07:23:27 +0000 (09:23 +0200)]
playback/player: android: Unref player in native_free()
This makes sure it is actually shut down and does not emit any signals anymore
later, and also prevents a memory leak.
Sebastian Roth [Mon, 11 May 2015 02:31:08 +0000 (10:31 +0800)]
playback/player: README.md formatting.
Brijesh Singh [Mon, 11 May 2015 03:04:07 +0000 (22:04 -0500)]
playback/player: gtk-play: add Open, Quit, Next and Previous menu items in popup menu.
Brijesh Singh [Sun, 10 May 2015 15:18:06 +0000 (10:18 -0500)]
playback/player: gtk-play: hide toolbar in fullscreen mode.
Brijesh Singh [Fri, 8 May 2015 13:30:32 +0000 (08:30 -0500)]
playback/player: gtk-play: add fullscreen button
Brijesh Singh [Fri, 8 May 2015 12:34:55 +0000 (07:34 -0500)]
playback/player: gst-play: add playlist loop command line option
Brijesh Singh [Fri, 8 May 2015 12:34:33 +0000 (07:34 -0500)]
playback/player: gtk-play: add playlist loop button.
Brijesh Singh [Thu, 7 May 2015 20:21:28 +0000 (15:21 -0500)]
playback/player: gtk-play: do not set window title in resume button cb.
Window title is set from media-info-updated signal hence
updating the window title in resume button callback will override
the title set from media-info-updated signal.
Brijesh Singh [Thu, 7 May 2015 12:38:05 +0000 (07:38 -0500)]
playback/player: gtk-play: display cover art
We maintain two drawing widgets, image and video. Cover art is drawn in
image widget and video is rendered in video widget. Based on the following
conditions we show either image or video widget:
- if media info does not have active video stream then hide video widget
and show image widget.
- if media info contains active video stream then show video widget and
hide the image widget.
Sebastian Roth [Fri, 8 May 2015 06:54:45 +0000 (14:54 +0800)]
playback/player: android: Fix Windows build of the app
Fixes #36
Sebastian Roth [Tue, 5 May 2015 08:08:18 +0000 (16:08 +0800)]
playback/player: android: Use gradle & ndk-build combo to generate the Android App
Also add a video List selector.
Sebastian Dröge [Thu, 7 May 2015 11:21:52 +0000 (13:21 +0200)]
playback/player: gtk-play: Fix compiler warning
gtk-play.c:269:60: warning: passing 'gint *' (aka 'int *') to parameter of type 'guint *' (aka 'unsigned int *') converts between pointers to integer types
with different sign [-Wpointer-sign]
gst_player_video_info_get_pixel_aspect_ratio (video, &par_n, &par_d);
^~~~~~
../lib/gst/player/gstplayer-media-info.h:92:57: note: passing argument to parameter 'par_n' here
(const GstPlayerVideoInfo* info, guint *par_n, guint *par_d);
^
gtk-play.c:269:68: warning: passing 'gint *' (aka 'int *') to parameter of type 'guint *' (aka 'unsigned int *') converts between pointers to integer types
with different sign [-Wpointer-sign]
gst_player_video_info_get_pixel_aspect_ratio (video, &par_n, &par_d);
^~~~~~
../lib/gst/player/gstplayer-media-info.h:92:71: note: passing argument to parameter 'par_d' here
(const GstPlayerVideoInfo* info, guint *par_n, guint *par_d);
^
Sebastian Dröge [Thu, 7 May 2015 11:21:02 +0000 (13:21 +0200)]
playback/player: Fix indention
Brijesh Singh [Wed, 6 May 2015 16:56:14 +0000 (11:56 -0500)]
playback/player: gtk-play: add track selection menu
Brijesh Singh [Wed, 6 May 2015 12:04:28 +0000 (07:04 -0500)]
playback/player: gtk-play: variable rename for consistency
rename media_info varible holding button state to be consistent with others.
Brijesh Singh [Wed, 6 May 2015 11:54:48 +0000 (06:54 -0500)]
playback/player: gtk-play: handle duplicate uri in playlist
current logic does not play all the files from playlist if the list contains
a duplicate uris.
Brijesh Singh [Wed, 6 May 2015 11:45:23 +0000 (06:45 -0500)]
playback/player: gtk-play: set window title from media information
If media contains title then use it to set player window title.
Brijesh Singh [Wed, 6 May 2015 11:41:06 +0000 (06:41 -0500)]
playback/player: gtk-play: remove gtk deprecated API.
Sebastian Dröge [Wed, 6 May 2015 08:58:27 +0000 (10:58 +0200)]
playback/player: Fix indention
Brijesh Singh [Thu, 30 Apr 2015 02:56:17 +0000 (21:56 -0500)]
playback/player: gst-play: display global taglist
Alex Moreno [Wed, 6 May 2015 02:52:26 +0000 (10:52 +0800)]
playback/player: android: fixed compilation error
Alex Moreno [Wed, 6 May 2015 02:38:25 +0000 (10:38 +0800)]
playback/player: android: check return values from JNI methods in 'JNI_OnLoad'
Alex Moreno [Wed, 6 May 2015 02:33:53 +0000 (10:33 +0800)]
playback/player: android: remove unused variable 'gst_app_thread'
Sebastian Dröge [Mon, 4 May 2015 20:37:34 +0000 (22:37 +0200)]
playback/player: android: Add gstplayer-media-info.c to the build
JNI bindings still need updating for the new media info API.
https://github.com/sdroege/gst-player/issues/30
Sebastian Dröge [Sun, 26 Apr 2015 16:31:30 +0000 (18:31 +0200)]
playback/player: player/gtk: Fix indention
Brijesh Singh [Sun, 26 Apr 2015 16:01:44 +0000 (11:01 -0500)]
playback/player: gtk-play: add media information window
Sebastian Dröge [Sat, 25 Apr 2015 17:37:39 +0000 (19:37 +0200)]
playback/player: player: Rename some more functions for consistency
Sebastian Dröge [Sat, 25 Apr 2015 17:30:55 +0000 (19:30 +0200)]
playback/player: player: Rename gst_player_subtitle_get_language() to gst_player_subtitle_info_get_language()
Sebastian Dröge [Sat, 25 Apr 2015 12:32:52 +0000 (14:32 +0200)]
playback/player: gst-play: Add copyright notice for Brijesh Singh
Brijesh Singh [Wed, 22 Apr 2015 22:39:50 +0000 (17:39 -0500)]
playback/player: player: Add media information API
https://github.com/sdroege/gst-player/pull/21
Sebastian Dröge [Sat, 25 Apr 2015 12:03:12 +0000 (14:03 +0200)]
playback/player: gst-play: Fix compiler warning
gst-play.c:89:11: error: comparison of unsigned expression >= 0 is always true
[-Werror,-Wtautological-compare]
if (pos >= 0 && dur > 0) {
~~~ ^ ~
Jan Berkel [Thu, 23 Apr 2015 12:02:34 +0000 (13:02 +0100)]
playback/player: ios: Make sure dimensions are valid
Layouting code crashes if 0/0 get passed
https://github.com/sdroege/gst-player/pull/22
Jan Berkel [Wed, 22 Apr 2015 13:43:07 +0000 (14:43 +0100)]
playback/player: ios: Extract online media into plist
https://github.com/sdroege/gst-player/pull/20
Sebastian Dröge [Wed, 22 Apr 2015 07:35:01 +0000 (09:35 +0200)]
playback/player: Add VideoToolbox to the iOS project linker flags
Sebastian Dröge [Fri, 6 Mar 2015 08:38:16 +0000 (09:38 +0100)]
playback/player: Stop using GSlice for allocations, it's deprecated soon and slower than malloc in most places
Xavier Claessens [Tue, 3 Mar 2015 16:56:31 +0000 (11:56 -0500)]
playback/player: android: Cast pointers to gintptr to simplify code
Sebastian Dröge [Sun, 1 Mar 2015 13:20:17 +0000 (14:20 +0100)]
playback/player: Update Android bindings to the latest API
Sebastian Dröge [Sun, 1 Mar 2015 13:04:00 +0000 (14:04 +0100)]
playback/player: Add copyright header to GTK player
Sebastian Dröge [Sun, 1 Mar 2015 12:59:08 +0000 (13:59 +0100)]
playback/player: Make it possible to call play()/pause() after EOS to restart playback from the beginning
Sebastian Dröge [Sun, 1 Mar 2015 12:59:03 +0000 (13:59 +0100)]
playback/player: Fix indention
Sebastian Dröge [Fri, 27 Feb 2015 07:46:02 +0000 (09:46 +0200)]
playback/player: Remove gst_player_is_playing()
The current state is now notified via the state-changed signal, and in
the GTK UI it was only used to keep track of the desired state.
Ross Burton [Thu, 26 Feb 2015 17:17:05 +0000 (17:17 +0000)]
playback/player: gtk-play: show a file chooser if no URIs were passed
Sebastian Dröge [Sun, 8 Feb 2015 10:38:47 +0000 (11:38 +0100)]
playback/player: Don't skip to next track immediately in gst-play when seeking after the duration
Instead wait for end-of-stream for switching.
Sebastian Dröge [Sat, 7 Feb 2015 10:14:42 +0000 (11:14 +0100)]
playback/player: Make state handling more robust and notify the application about our states
The application now will get one of 4 states via a signal:
STOPPED: After EOS, error and when explicitely stopped
BUFFERING: When moving to the lower states, or we get buffering messages,
also when seeking.
PAUSED and PLAYING: When having reached that state and it's our target
Also we now always first go to PAUSED state before we seek, and also before we
go to PLAYING. This allows us to deterministically change states and makes
everything a bit more robust.
As a side-effect, get rid of the is-playing property. Applications can now get
this from the corresponding signal if they need to know.
Additionally now notify the application about the buffering percentage.
Also fix a few bugs related to state handling and buffering.
Thibault Saunier [Wed, 12 Nov 2014 15:18:28 +0000 (16:18 +0100)]
playback/player: android: Link against GLib 2.0 as it is necessary
Sebastian Dröge [Thu, 7 Aug 2014 08:59:37 +0000 (10:59 +0200)]
playback/player: Fix indention with gst-indent