Commit graph

55 commits

Author SHA1 Message Date
Brijesh Singh
1b1aed87c5 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.
2015-05-08 10:12:31 +02:00
Sebastian Roth
d33cc6c876 playback/player: android: Fix Windows build of the app
Fixes #36
2015-05-08 10:06:11 +02:00
Sebastian Roth
a31f95d06d playback/player: android: Use gradle & ndk-build combo to generate the Android App
Also add a video List selector.
2015-05-07 14:58:03 +02:00
Sebastian Dröge
59d822fc2b 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);
                                                                      ^
2015-05-07 13:21:52 +02:00
Sebastian Dröge
7396c221ed playback/player: Fix indention 2015-05-07 13:21:02 +02:00
Brijesh Singh
1232e80e20 playback/player: gtk-play: add track selection menu 2015-05-07 13:20:35 +02:00
Brijesh Singh
bbc6f056b1 playback/player: gtk-play: variable rename for consistency
rename media_info varible holding button state to be consistent with others.
2015-05-07 13:20:35 +02:00
Brijesh Singh
653c8c973e 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.
2015-05-07 13:20:35 +02:00
Brijesh Singh
88e7131ae7 playback/player: gtk-play: set window title from media information
If media contains title then use it to set player window title.
2015-05-07 13:20:35 +02:00
Brijesh Singh
611f3cde4b playback/player: gtk-play: remove gtk deprecated API. 2015-05-07 13:20:35 +02:00
Sebastian Dröge
544c51fe11 playback/player: Fix indention 2015-05-06 10:58:27 +02:00
Brijesh Singh
ef751e3dfd playback/player: gst-play: display global taglist 2015-05-06 10:55:08 +02:00
Alex Moreno
696e1c9ab8 playback/player: android: fixed compilation error 2015-05-06 10:43:28 +02:00
Alex Moreno
261081aade playback/player: android: check return values from JNI methods in 'JNI_OnLoad' 2015-05-06 10:43:28 +02:00
Alex Moreno
c3928830cf playback/player: android: remove unused variable 'gst_app_thread' 2015-05-06 10:43:28 +02:00
Sebastian Dröge
2a5ba6574f 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
2015-05-04 22:38:15 +02:00
Sebastian Dröge
bf8604dcf3 playback/player: player/gtk: Fix indention 2015-04-26 18:33:00 +02:00
Brijesh Singh
81238fdbcd playback/player: gtk-play: add media information window 2015-04-26 18:33:00 +02:00
Sebastian Dröge
3180177fc7 playback/player: player: Rename some more functions for consistency 2015-04-25 19:37:39 +02:00
Sebastian Dröge
2cfa987d89 playback/player: player: Rename gst_player_subtitle_get_language() to gst_player_subtitle_info_get_language() 2015-04-25 19:30:55 +02:00
Sebastian Dröge
da76b893c7 playback/player: gst-play: Add copyright notice for Brijesh Singh 2015-04-25 14:32:52 +02:00
Brijesh Singh
34c7b45906 playback/player: player: Add media information API
https://github.com/sdroege/gst-player/pull/21
2015-04-25 14:16:08 +02:00
Sebastian Dröge
7ca4b495c2 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) {
      ~~~ ^  ~
2015-04-25 14:03:12 +02:00
Jan Berkel
d270aec9d1 playback/player: ios: Make sure dimensions are valid
Layouting code crashes if 0/0 get passed

https://github.com/sdroege/gst-player/pull/22
2015-04-23 16:27:33 +02:00
Jan Berkel
109e63d7d7 playback/player: ios: Extract online media into plist
https://github.com/sdroege/gst-player/pull/20
2015-04-23 16:25:59 +02:00
Sebastian Dröge
7638d52c47 playback/player: Add VideoToolbox to the iOS project linker flags 2015-04-22 09:35:24 +02:00
Sebastian Dröge
8ba8714b20 playback/player: Stop using GSlice for allocations, it's deprecated soon and slower than malloc in most places 2015-03-06 09:38:16 +01:00
Xavier Claessens
8b41422c77 playback/player: android: Cast pointers to gintptr to simplify code 2015-03-03 18:04:36 +01:00
Sebastian Dröge
5035124050 playback/player: Update Android bindings to the latest API 2015-03-01 14:20:17 +01:00
Sebastian Dröge
b7a1198170 playback/player: Add copyright header to GTK player 2015-03-01 14:04:00 +01:00
Sebastian Dröge
0b7383c104 playback/player: Make it possible to call play()/pause() after EOS to restart playback from the beginning 2015-03-01 14:01:17 +01:00
Sebastian Dröge
6342159440 playback/player: Fix indention 2015-03-01 13:59:03 +01:00
Sebastian Dröge
6f88388819 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.
2015-02-27 09:46:02 +02:00
Ross Burton
d0ef447da9 playback/player: gtk-play: show a file chooser if no URIs were passed 2015-02-27 09:41:17 +02:00
Sebastian Dröge
d828730591 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.
2015-02-08 11:52:11 +01:00
Sebastian Dröge
ae46c50138 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.
2015-02-08 11:52:10 +01:00
Thibault Saunier
97c4cfc670 playback/player: android: Link against GLib 2.0 as it is necessary 2014-11-12 16:36:39 +01:00
Sebastian Dröge
d0dc785d77 playback/player: Fix indention with gst-indent 2014-08-07 10:59:37 +02:00
Sebastian Dröge
adf40eeefe playback/player: GTK: Fix prev/next button insensitivity logic in the EOS handler 2014-08-06 16:52:22 +02:00
Sebastian Dröge
ad694a24ea playback/player: GTK: Turn checks that must not fail into assertions in prev/next logic 2014-08-06 16:45:09 +02:00
Sebastian Dröge
ead64d43fa playback/player: GTK: Fix logic for setting the prev/next button insensitive at the end/beginning of the playlist 2014-08-06 16:45:03 +02:00
Parthasarathi Susarla
a622cb0d2c playback/player: GTK: Improvements to the GTK+ player
This patch contains a few improvements to the gtk-player:
* Uses unified play/pause button.
* Adds a Skip Previous/Next button.
* Volume control
* Takes multiple files/uri's as arguments.
* Switches to the next track (if any) when the current track
  reaches and end.

https://github.com/sdroege/gst-player/pull/1
2014-08-06 16:44:54 +02:00
Sebastian Dröge
7cb352aaa6 playback/player: Implement seek throttling 2014-08-05 19:12:02 +02:00
Sebastian Dröge
038cd47bfb playback/player: Add our own error domain and code 2014-08-03 17:06:26 +02:00
Sebastian Dröge
e85d26115a playback/player: Move dispatch-to-main-context out of the constructor and make it a normal property 2014-08-03 16:08:14 +02:00
Sebastian Dröge
e644c61286 playback/player: Always notify about video dimension changes
Without video we will notify width=height=0
2014-08-03 15:10:13 +02:00
Sebastian Dröge
4b9da857c0 playback/player: Add a single-include header 2014-08-03 12:47:27 +02:00
Sebastian Dröge
090c766562 playback/player: Add initial build system with docs and tests and magic 2014-08-03 12:38:37 +02:00
Sebastian Dröge
7071c121b6 playback/player: Add iOS app 2014-08-02 21:11:56 +02:00
Sebastian Dröge
b34e62884c playback/player: Move library around into a proper directory 2014-08-02 20:33:38 +02:00