Philippe Normand
12a7bf9f7c
player: Rewrite as GstPlay wrapper
...
For the time being the GstPlayer library remains as a wrapper for GstPlay, in
order to keep existing applications working and give them time to port to
GstPlay. GstPlayer will remain in -bad for a couple cycles and the plan for
GstPlay is to move it to -base before 1.20.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061 >
2021-03-09 18:03:48 +00:00
Thibault Saunier
76bc578bae
player/transcoder: Use bus signal watch
...
Instead of implementing exactly the same thing ourself but making
`GstBus` not know that it is the case.
Since we are *sure* that the bus can't have been access at the point
where we add the watch we are guaranteed that the current thread
maincontext is going to be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1870 >
2020-12-14 12:30:14 +00:00
Philippe Normand
d4df91cd9b
player: Fix get_current_subtitle_track annotation
...
As the info returned is a new object, the annotation should be transfer-full,
similarly to the get_current_{audio,video}_track() implementations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1775 >
2020-11-25 11:30:16 +00:00
Rafostar
5c31aeaaa4
doc: player: mention that get_pipeline method needs unref
...
All other methods in docs clearly mention that an unref is needed, so should `get_pipeline()`. #1450
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1764 >
2020-11-05 08:57:51 +00:00
Rafostar
40f1a34d10
player: call ref_sink on pipeline
...
Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash.
Fixes #1450
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1763 >
2020-11-05 08:36:10 +00:00
Stéphane Cerveau
6bc0e9527e
remove various useless linefeed in logs
2019-12-11 10:51:29 +01:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Askar Safin
c881e0a505
gst-player: fix bug with changing playback direction
...
Fix gst_event_new_seek call in gst-libs/gst/player/gstplayer.c
If rate >= 0.0, then previous code doesn't set end of segment. So, the end of segment
will be in place where previous seek put it. This is not neccesary end of media file
(in case of reverse playback). So if we play video backward for some time and then
switched to forward playing, we will get EOS somewhere in the middle of media file.
This commit always sets end of segment, thus fixing this bug
2019-09-04 15:19:39 +00:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Thibault Saunier
7fe3f36ac8
Minor documentation fixes
2019-05-13 11:36:27 -04:00
Sebastian Dröge
5b918e681d
player: Fix various Since markers in the docs
2019-04-23 15:09:03 +03:00
Philippe Normand
b5af1b9f2e
player: Logging fix for updated audio info
...
Bitrate was logged a second time instead of the max_bitrate.
2018-12-22 18:39:44 +01:00
Sebastian Dröge
a171f30ab1
player: Don't crash if playbin is not available but kill the process cleanly
2018-12-10 13:21:43 +02:00
Víctor Manuel Jáquez Leal
00acafc209
player: don't change uri when setting subtitle uri
...
https://bugzilla.gnome.org/show_bug.cgi?id=797362
2018-11-01 11:59:59 +01:00
Philippe Normand
de26abc88a
player: API additions for subtitle-video-offset property
...
This new property contols the synchronisation offset between subtitles and video
in nanoseconds.
https://bugzilla.gnome.org/show_bug.cgi?id=797134
2018-11-01 09:52:57 +00:00
Sebastian Dröge
afbbc3a97e
player: Don't set state to READY if we're already stopped
...
Otherwise setting an URI after creation will already set the state
to READY/buffering and disallow setting the configuration.
See https://github.com/servo/servo/issues/22010
2018-10-24 14:36:41 +01:00
Philippe Normand
d1ed94491e
player: Set default position and duration value to GST_CLOCK_TIME_NONE
...
When the position query fails the returned value shall remain -1 instead of 0 to
avoid confusion on application side between error and beginning of media.
https://bugzilla.gnome.org/show_bug.cgi?id=797066
2018-09-03 12:11:42 +01:00
Roland Jon
d5aabd0f58
player: Avoid trying to join the player thread from itself
...
https://bugzilla.gnome.org/show_bug.cgi?id=796731
2018-07-02 15:27:17 +03:00
Lyon Wang
92576e7db8
player: Fix duration-changed CRITICAL warning if duration did not actually change
...
Check if duration is changed before emitting duration-changed signal
https://bugzilla.gnome.org/show_bug.cgi?id=796491
2018-06-04 21:06:28 +03:00
Philippe Normand
0c14a92c28
player: doc update for set_subtitle_uri()
...
A call to this function without enabling the subtitle track has no effect.
2018-01-07 17:03:10 +00:00
Philippe Normand
13363f2388
player: transfer ownership of info properties
...
The previous code would emit GObject critical warnings when the info properties
are NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=791982
2017-12-27 15:28:44 +00:00
Sebastian Dröge
cc58bd6ae0
player: Fix-up set_seek_accurate() configuration to take a player config instead of a player instance
2017-12-16 10:44:26 +02:00
Sebastian Dröge
20c4dc25fb
player: Consistently use GstVideoMultiviewFramePacking instead of Mode
...
The latter needs additional metadata, and the former was already used
everywhere except for the functions: in properties in playbin itself.
2017-12-16 10:23:41 +02:00
Philippe Renon
085f875a24
player: introduce helper method to remove seek source
...
this incidentally fixes a missing g_source_destroy() call in _main()
https://bugzilla.gnome.org/show_bug.cgi?id=787727
2017-09-15 17:28:12 +03:00
Philippe Renon
9fce29497d
player: remove duplicate state_ret check in play internal
...
https://bugzilla.gnome.org/show_bug.cgi?id=787727
2017-09-15 17:28:12 +03:00
Philippe Normand
8a29da8023
player: notify of media-info update after duration change
...
This is a follow-up of 98b0802a98
https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-15 09:38:55 +01:00
Philippe Normand
98b0802a98
player: propagate updated duration to media_info
...
https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-14 09:21:29 +01:00
Sebastian Dröge
4a45a01b5e
player: Constify the config argument to gst_player_get_video_snapshot()
...
This structure is only ever read from.
2017-08-08 11:05:39 +03:00
Sebastian Dröge
634cd87c76
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
...
https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17 10:40:23 +03:00
Thibault Saunier
78022a6e0c
docs: Port all docstring to gtk-doc markdown
2017-04-12 12:57:57 -03:00
Seungha Yang
e25da85a65
player: Make use of GstStreams API with playbin3
...
Allow use of playbin3 and GstStreams API by setting
the environment variable "GST_PLAYER_USE_PLAYBIN3"
https://bugzilla.gnome.org/show_bug.cgi?id=775487
2017-03-22 15:17:30 +02:00
Haihua Hu
79be2e8b7b
player: Fix setting of external subtitle URI
...
gst_player_set_uri_internal shouldn't free suburi which maybe set
by user to load external subtitle before start play. It just need
reset playbin's subutri property to NULL no matter if there was a
previous one or not.
https://bugzilla.gnome.org/show_bug.cgi?id=779453
2017-03-09 10:31:45 +02:00
Lyon Wang
2609aaa48b
player: Add get video snapshot API
...
Add get video snapshot API:
gst_player_get_video_snapshot()
https://bugzilla.gnome.org/show_bug.cgi?id=773709
2017-01-17 13:09:55 +02:00
Sebastian Dröge
00f9a21cd2
player: Move audio/video/subtitle stream list getters into the correct namespace
2016-12-21 11:32:52 +02:00
Arun Raghavan
6a0d53b767
player: Don't try to cache the GQuark for GST_PLAYER_ERROR
...
This is potentially racy (in the unlikely scenario that we get two
first-time calls to gst_player_error_quark() at the same time). This
should not impact anything in terms of performance since it's only on
the error path.
The call itself could just be inlined by making GST_PLAYER_ERROR be
defined to the g_quark_from_static_string() call, but this feels ugly
from an API perspective.
2016-12-08 11:22:38 +05:30
Lyon Wang
8d41d816a2
player: Add configuration for enabling accurate seeks
...
https://bugzilla.gnome.org/show_bug.cgi?id=773521
2016-11-01 19:49:52 +02:00
Sebastian Dröge
8ba57fb4bd
player: Cache duration and return cached duration
...
https://bugzilla.gnome.org/show_bug.cgi?id=771992
2016-11-01 19:36:40 +02:00
Sebastian Dröge
254db116a1
player: Remove Return documentation for function returning void
2016-09-30 13:42:06 +03:00
Sebastian Dröge
fa31ea7ac3
player: Only report the initial duration if the query was successful
2016-09-26 13:26:36 +03:00
Sebastian Dröge
ac6e2af62d
player: Remove some leftovers from external GstPlayer
2016-09-17 17:08:22 -04:00
Sebastian Dröge
79cab9f8b8
player: Remove boolean return from set_subtitle_uri()
...
It can't fail synchronously and is inconsistent with set_uri().
2016-09-15 13:15:51 +02:00
Sebastian Dröge
a036b7ef9f
player: Don't change state to PLAYING immediately if a seek is pending
...
We first have to finish the seek (in PAUSED) and move to PLAYING once
the seek is actually finished (unless a new one is pending then).
2016-09-14 18:07:55 +02:00
Sebastian Dröge
a2c03f2b00
player: On redirects, remember the redirect URI separately and don't consider this an URI property change
...
The application does not know anything about the redirect, and changing its
URI internally will cause confusion.
Also don't reset the subtitle URI.
2016-08-24 14:16:23 +03:00
Sebastian Dröge
e416e79af8
player: Don't report spurious STOPPED state changes when doing transient changes there
2016-08-24 14:10:41 +03:00
Sebastian Dröge
c361907873
player: Ensure that rate is initialized to 1.0
2016-08-24 13:38:53 +03:00
Sebastian Dröge
c6d389c772
player: De-duplicate rate setting code and always use the property
2016-08-23 15:02:19 +03:00
Sebastian Dröge
fa8bfb3991
player: Protect setter/getter for the configuration with a mutex
2016-08-23 15:02:19 +03:00
Sebastian Dröge
a0f6105204
player: Move subtitle URI setter next to the uri setter
...
It's confusing to have them a couple of hundred lines apart.
2016-08-23 15:02:19 +03:00
Sebastian Dröge
aa1a663c8a
player: Add some 'const' to config getters
2016-07-25 13:06:46 +03:00
Sebastian Dröge
1f7d341d92
player: G-I annotation fixes
2016-07-25 13:06:36 +03:00