Commit graph

236 commits

Author SHA1 Message Date
Xavi Artigas
c4a3f608e5 Simplify playing state tracking (and fix some problems) 2012-10-17 11:41:14 +02:00
Xavi Artigas
124f71f179 Remove unnecessary comment 2012-10-17 11:33:55 +02:00
Xavi Artigas
6b6dddde98 Simplify playing state tracking (and fix some problems) 2012-10-17 11:29:51 +02:00
Xavi Artigas
2fd79e5b3f Whitespacey & comments 2012-10-17 10:28:53 +02:00
Xavi Artigas
ad13250d93 Some layout beautifying 2012-10-16 11:45:34 +02:00
Xavi Artigas
8548d90aac Make sure the pipeline is in READY state before trying to set any window handle to the video sink. Send the app the Initialized signal after surface re-creation. 2012-10-16 11:14:08 +02:00
Xavi Artigas
ad8f0daffa With proper debug output 2012-10-15 18:50:28 +02:00
Xavi Artigas
10a4d1a28c Tutorial 3 2012-10-15 18:48:58 +02:00
Xavi Artigas
1c3c4ee7b7 Do not use GST_ERROR before GStreamer has been initialized (tutorial 5) 2012-10-15 14:03:40 +02:00
Xavi Artigas
0ccc6fe8c8 Do not use GST_ERROR before GStreamer has been initialized (tutorial 2) 2012-10-15 13:50:34 +02:00
Xavi Artigas
332de96d51 Fix tutorial number in debug output 2012-10-15 13:21:47 +02:00
Xavi Artigas
6bdae5f2a6 Do not use GST_ERROR before GStreamer has been initialized 2012-10-15 13:19:27 +02:00
Xavi Artigas
686de232a6 Make our GLib context is the default one to make sure GSource created from libraries using the default context are properly disposed of. 2012-10-11 10:52:45 +02:00
Xavi Artigas
e7199e5a18 Make all methods static except JNI_OnLoad 2012-10-11 10:37:49 +02:00
Xavi Artigas
b6243454c8 Proper initialization of GSources (setup before attach) 2012-10-10 15:43:25 +02:00
Xavi Artigas
ec305a0826 Beautify the layout a bit 2012-10-10 12:15:38 +02:00
Xavi Artigas
108d3a1ffb Fix button re-enabling: it has to be done from the UI thread. 2012-10-10 11:32:26 +02:00
Xavi Artigas
58a597aa20 Add audioconvert and audioresample, for the sake of completeness. 2012-10-09 17:11:11 +02:00
Xavi Artigas
bce0f1d2fc New icons to better follow the Android design guidelines (and get rid of some Android Lint warnings) 2012-10-09 12:42:24 +02:00
Xavi Artigas
a5d36ecb3e Regexp mangled some comments 2012-10-09 10:41:32 +02:00
Xavi Artigas
768e602485 Changed all comments to //, because Confluence has problems syntax highlighting Java with /* */ comments. Awesome. 2012-10-09 10:39:38 +02:00
Xavi Artigas
4b608c3ca7 Add comments. Whitespace. Some function renaming. 2012-10-08 15:36:16 +02:00
Xavi Artigas
4ce09964d9 Initial tutorial 2 2012-10-08 11:55:59 +02:00
Xavi Artigas
3c3388a5a6 Remove unused GIO module from Android.mk 2012-10-05 15:31:50 +02:00
Xavi Artigas
3df9913eb9 More copyright notices removed 2012-10-05 14:56:03 +02:00
Xavi Artigas
e7b066f06e Remove copyright notices 2012-10-05 11:21:26 +02:00
Xavi Artigas
a99fac623c Whitespacey 2012-10-04 17:54:41 +02:00
Xavi Artigas
0a57e2c403 Move icons to proper folder. Replace generic Android icon with GStreamer SDK. 2012-10-04 16:22:03 +02:00
Sebastian Dröge
f3a259d959 Reset duration after changing the URI 2012-10-04 16:15:59 +02:00
Xavi Artigas
87daf274ca First tutorial. 2012-10-04 12:15:02 +02:00
Sebastian Dröge
5389c1548b Disable subtitles for now 2012-10-03 16:38:03 +02:00
Xavi Artigas
e030812824 Rename tutorial-1 to tutorial-5 2012-10-03 14:17:08 +02:00
Xavi Artigas
90638fdd0e Highlight selected file in the file dialog chooser (could be highlighted MORE). 2012-10-03 13:40:50 +02:00
Sebastian Dröge
ac82125966 Link with all the useful plugins 2012-10-03 12:14:45 +02:00
Sebastian Dröge
2bec2df002 Add copyright/license foo for the file dialog 2012-10-03 11:07:17 +02:00
Sebastian Dröge
e67b567904 Add new filechooser 2012-10-02 16:54:27 +02:00
Sebastian Dröge
e3b897f4b5 Add support for selecting files 2012-10-02 13:31:54 +02:00
Xavi Artigas
f574c00ea1 Merge branch 'android' 2012-10-01 17:43:12 +02:00
Sebastian Dröge
9a4b1977d4 Fix seeking 2012-10-01 16:56:49 +02:00
Sebastian Dröge
5ad29d568e Don't queue multiple timeouts for delayed seeking 2012-10-01 15:46:17 +02:00
Sebastian Dröge
3123532841 Implement throttling of seeks, only one seek per 500ms 2012-10-01 14:43:33 +02:00
Xavi Artigas
76c883fb8b Fix restoration of playing state after orientation change 2012-10-01 14:27:25 +02:00
Xavi Artigas
af9437ff7d Now that playbin2 is used, remove the vsink variable, and use factory_make instead of parse_launch. 2012-10-01 12:47:09 +02:00
Xavi Artigas
b809b23b24 Whitespacey 2012-10-01 12:37:57 +02:00
Xavi Artigas
ceaab451f2 Fix Seeking: Disable scrubbing seek for remote files, remember playing state after seek. Use media from gstreamer.com instead of freedesktop.org (weird buffering from the later) 2012-10-01 12:37:07 +02:00
Xavi Artigas
cf083414f6 Add API to set the URI instead of hardcoding it in the gst_launch 2012-10-01 10:41:23 +02:00
Sebastian Dröge
74543783c0 Only set GSTREAMER_SDK_ROOT if it wasn't set yet 2012-10-01 10:08:52 +02:00
Xavi Artigas
929f8eb55f Some debug output beautifying 2012-09-28 15:27:33 +02:00
Xavi Artigas
9eb55274bc Fix Android.mk and make it use GSTREAMER_SDK_ROOT_ANDROID 2012-09-28 12:12:21 +02:00
Sebastian Dröge
2ca5b7356c Use the OGV variant by default and use the fd.o server 2012-09-28 09:31:35 +02:00
Sebastian Dröge
555c456e9e Add some UI feedback for the buffering messages 2012-09-27 14:18:05 +02:00
Sebastian Dröge
6184907bbf Make sure to not go out of the target state due to buffering messages
E.g. go to PLAYING although we're only requested to PAUSED
2012-09-26 13:46:47 +02:00
Sebastian Dröge
3e795c9a19 Implement handling of buffering and clock-lost messages 2012-09-26 10:27:27 +02:00
Sebastian Dröge
a247dddc71 The volume element is needed by playbin2 too 2012-09-24 14:06:15 +02:00
Sebastian Dröge
5d66cfd40f Also link OpenSL ES plugin 2012-09-24 13:50:06 +02:00
Sebastian Dröge
4909c6489d Catch DURATION message and query new duration on the next UI refresh
This makes sure we always show the latest, real duration. Might
help with OGV streaming.
2012-09-24 11:29:39 +02:00
Sebastian Dröge
c375592018 Make the playbin2 pipeline the default 2012-09-24 11:23:40 +02:00
Sebastian Dröge
634bad5edd videofilter plugin is needed for playbin2 too 2012-09-24 10:19:00 +02:00
Xavi Artigas
a11dffbbc1 Better handling of state tracking in the UI. It now tracks what gst does, instead of just guessing from the buttons the user pressed. 2012-09-21 14:29:11 +02:00
Xavi Artigas
81bb469d72 Catch the exception thrown by GStreamer.init() and terminate application. 2012-09-21 10:58:17 +02:00
Xavi Artigas
56697bc5d5 Add some resilience. In many occasions native methods can be called where Gst is not yet initialized or being re-initialized. 2012-09-21 10:57:33 +02:00
Xavi Artigas
d7735e0f6d Reduce the number of gst plugins used, to approach what will be really needed. 2012-09-21 10:56:35 +02:00
Andoni Morales Alastruey
ec83a11e33 android-tutorial-1: update Android.mk with last changes 2012-09-20 12:29:40 +02:00
Xavi Artigas
eb5a50c851 Remove unused constructor 2012-09-20 11:38:35 +02:00
Sebastian Dröge
d685fd9281 Use the WebM video by default 2012-09-20 11:16:12 +02:00
Sebastian Dröge
20ab7db117 It's GStreamer.init(), not Init() 2012-09-20 11:13:36 +02:00
Sebastian Dröge
56e49fac4e Call GStreamer.Init() from onCreate(), otherwise the Context is not set up yet 2012-09-20 11:13:35 +02:00
Xavi Artigas
2baed2a80c Whitespacey 2012-09-20 10:32:49 +02:00
Xavi Artigas
049ac0438b Add a queue to the test pipeline 2012-09-19 17:58:23 +02:00
Xavi Artigas
1fdad2d112 Use the new GStreamer.Init() method to initialize GStreamer. 2012-09-19 16:50:38 +02:00
Xavi Artigas
fa77581edc Remove unnecessary destruction of GSources 2012-09-19 13:16:45 +02:00
Xavi Artigas
9cdcecf4f8 Use custom GMainContext to avoid potential interference with other libraries using GLib 2012-09-19 12:18:41 +02:00
Xavi Artigas
8876ada4ea Remove compiler warning 2012-09-18 16:48:39 +02:00
Xavi Artigas
553978a030 Prevent the C code from notifying Java too many times about GStreamer being initialized 2012-09-18 16:02:43 +02:00
Xavi Artigas
e7d13a9120 Revamp initialization code. Now the library informs java when initialization is complete (pipeline built and native window received). 2012-09-18 14:32:02 +02:00
Xavi Artigas
e35be6e5df Remove unused variable 2012-09-18 13:40:22 +02:00
Xavi Artigas
5e065f2b89 Beautify hardcoded time values 2012-09-18 12:39:39 +02:00
Xavi Artigas
c763636b97 Add a bit of resilience at class initialization 2012-09-18 12:36:17 +02:00
Xavi Artigas
2048b11b90 Rename some methods for clarity 2012-09-18 12:09:49 +02:00
Xavi Artigas
4b7b9e0106 Remove video app sink now that there is a working egl sink. 2012-09-18 11:55:46 +02:00
Xavi Artigas
336a85b928 Add comment regarding previoud rounding. 2012-09-17 18:26:55 +02:00
Xavi Artigas
803622382e Prevent successive orientation changes from moving the clip backwards in time due to gst-nanos / java-millis rounding errors plus seeking to keyframes. 2012-09-17 18:24:00 +02:00
Xavi Artigas
7a8142417c Remove invalid extra unref on the gst bus 2012-09-17 17:35:32 +02:00
Xavi Artigas
e1927aca14 Typo in comment 2012-09-17 17:24:04 +02:00
Andoni Morales Alastruey
bb2adae455 Update for multilib 2012-09-17 16:26:01 +02:00
Xavi Artigas
4874f00144 Start in PAUSED so clip length is shown since the beginning. Allow orientation changes in PAUSED. 2012-09-17 13:48:08 +02:00
Xavi Artigas
392705a913 Do not set the pipeline to NULL on EOS, as parse_launch pipelines are not reusable. 2012-09-17 13:31:24 +02:00
Xavi Artigas
0b6448389a Allow refreshing the ui (the timer, basically) when in PAUSED (when seeking, basically) 2012-09-17 12:59:33 +02:00
Xavi Artigas
425a23ef98 Seeking in PAUSED updates the video 2012-09-17 12:53:53 +02:00
Xavi Artigas
206415b27b Allow seeking from the SeekBar (video does not refresh until you release the SeekBar, though) 2012-09-17 12:31:23 +02:00
Xavi Artigas
ff9ff2c549 Delay seeks if not in the playing state. Verify return value of ANativeWindow_Lock. 2012-09-17 11:54:45 +02:00
Xavi Artigas
1d7c2a6f87 Add hardware decoding capabilities 2012-09-14 17:08:15 +02:00
Xavi Artigas
f780c13852 Add missing fix 2012-09-14 16:08:37 +02:00
Xavi Artigas
f81f2c4347 Send XOverlay messages directly to the sink. Try to resume playing in the place where it stopped. Assorted fixes. 2012-09-14 16:01:07 +02:00
Xavi Artigas
c892f35193 Protect against surfaces being destroyed after the app is killed 2012-09-14 12:45:54 +02:00
Xavi Artigas
63f19c69ab Display video via an appsink. 2012-09-14 12:02:19 +02:00
Xavi Artigas
f15a624e93 Set the targetSDK to 14 (Gingerbread). This uses cooler (more recent) UI elements when available. 2012-09-13 18:29:02 +02:00
Xavi Artigas
3bc044cba4 Add a SeekBar to show current position / duration 2012-09-13 16:35:51 +02:00
Xavi Artigas
8f8258e4b9 Report current position/duration back to the UI. Refactor. 2012-09-13 14:36:06 +02:00
Xavi Artigas
0156029e06 Remove unneeded import 2012-09-13 12:09:22 +02:00