#
425ac1b6 |
|
20-Jun-2023 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
refactor: Swap %Ld for %lld in all format usages * %Ld is an undocumented alias for %lld in glibc. * muslc doesn't implement it for this reason. * While we will likely never drop %Ld support, lets clean house and set a better example. Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
09095817 |
|
18-May-2018 |
Murai Takashi <tmurai01@gmail.com> |
Mediaplayer: Suppress -Werror=class-memaccess Suppress -Werror=class-memaccess pointed out by gcc8. * Remove unneed memset(), since media_format is cleared by constructor. * Use media_format::Clear() instead of memset() Change-Id: I02e19c1fab1f1b3f6c348e1d3ac63536d5c829b2 Reviewed-on: https://review.haiku-os.org/484 Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
|
#
7e77623b |
|
07-Jul-2016 |
Dario Casalinuovo <b.vitruvio@gmail.com> |
MediaPlayer: Remove unneeded MediaRoster locking. * No idea why it was added in the first place, just keep in mind BMediaRoster does things using ports and there's no need of locking it. * Style fixes along the way.
|
#
843a122f |
|
04-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
MediaPlayer: some 64 bit fixes
|
#
2e1347b2 |
|
29-Apr-2013 |
Murai Takashi <tmurai01@gmail.com> |
Fix more GCC4 narrowing conversion warnings Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
9a52ead3 |
|
18-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Don't try to change the run-mode of the consumer if it has not been created yet. (Avoids a debug message only.) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89f25d71 |
|
15-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enabled the code which sets the consumer run-mode based on the current play back mode. I.e. paused or stopped playback get's B_OFFLINE run-mode, which makes sure the Consumer does not drop frames when they are too late. When single stepping frames backwards, the producer may have needed a lot of time to generate a frame and it may arrive late, which is no problem when the video is paused. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38667 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0beac2ff |
|
09-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
PlaybackManager: * Make sure that the messages which trigger a performance time update a) don't pever pile up and b) that we don't still receive an event after reinitialization (would not have been a problem, at one point I thought it was). * Don't compile in support for changing the playback speed for the moment. * Better support for notifying the reaching of a seek frame, In _UpdateStates(), the wrong state (most often out of bounds) was checked to be a seek request state. Check if a seek request was reached in all other cases where states are removed. Controller: * Simple but important simplification of the problem that seeked frames are reached asynchronously and with a latency: In TimePosition() simply report the seeked frame, if there are still pending seek requests. This allows a consistent view from the outside, i.e. after calling SetTimePosition(), TimePosition() will not return something different. * Use a more robust way to track pending seek requests. A new request may have been issued while not having reached the previous one yet. * Implement a notification for reaching the seek frame, but I didn't need it after all, may come in handy later... MainWin: * Change the cursor left/right keys to support winding. Cursor up/down change the volume, Cmd-up/down skips to the previous/next playlist item, left/right do the winding now, as requested in ticket #2495. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
959a162c |
|
06-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Always call PlaybackManager::Init() in FormatChanged(). This makes sure we don't deal with stale PlayingState and other outdated data when the Controller initializes to a new file, but does not need to teardown the old and setup new media nodes. Fixes ticket #3855. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38551 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bafcab92 |
|
13-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36222 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7974d3dc |
|
13-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Updated Haiku apps to use sentence-case. What a huge undertaking... The files where I had to apply the patch manually (for mysterious reasons) have also gotten a whitespace cleanup. I've proof-read everything so hopefully there should be no problems. This should be the final part of #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa1a1c29 |
|
20-Oct-2009 |
Stephan Aßmus <superstippi@gmx.de> |
All sorts of refactoring with regards to the audio node and format setup. At first I tried adding support for changing the format during running the node connection, but later found out that this is not implemented in the system mixer (it has this weird setting to allow input format changes, but if you do this, the media_server will just crash, since the backend does not support it yet). Also, the Media Kit documentation is extremely lacking in this regard. I ended up re-establishing the node connection when the audio format is supposed to change, just like it is already done for video. This means that audio files now play with their native channel count and frame rate. But it isn't so well tested yet, if 48 kHz for example introduce some clicks. The channel count should not be a problem though, I've also tested that with some movies and it works fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33678 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
613ecaf5 |
|
22-Aug-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Added the implementation behind the "Use overlays if available" and "Scale videos smoothly in non-overlay mode" options. * Disabled the other controls in the SettingsWindow which are not yet implemented. * Enable and disable Revert button according to settings state. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27157 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eb91d005 |
|
14-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Whether an audio and/or video node is used is now more explicit. The audio node can now also be turned off for videos that don't have audio. * The PlaybackManager currently has the "no audio" support added in a not quite so nice way, will have to think about something, this is just quick and dirty to get it going. There is just two places where the audio time needs to be ignored, because it remains at zero. -> Especially when using OSS, the seeking latency will be much reduced when playing videos that have no sound. * The Controller now maintains the frame it wanted to seek to and does not forward "position changed" to other listeners as long as the seek frame has not been reached. This fixes the slider jumping back to the old position for a bit until jumping back to the seek frame. It also fixes another problem when switching to the next file. Because the total duration is already adopted while the old clip is still playing within the seek latency, the current position jumped to the new relative position, while it is still refering to the position within the old clip. So both seeking and switching clips looks much smoother now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26415 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9282400f |
|
06-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* The SeekSlider did not update the knob when it was resized. * Subtile visual improvements to the SeekSlider. * Added a PeakView for displaying the audio peaks that are produced by the AudioProducer. * A MessageEvent can now directly take a custom BMessage for delivery. * The peak notification mechanism is a bit separate from the rest of the Controller notification design, since the notification delivery should be delayed until the audio is actually audible. I may change this quick and dirty design though, since it is not so nice. The target time could also be part of the message and be handled at a different stage, but that would make it less efficient. * Layout improvements to the playback controls. * Code cleanup here and there, changed some license statements. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26280 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b9b511dc |
|
26-Jun-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Small cleanup. * RealTimeForTime() did not work without VideoProducer. Maybe it is never used though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44820a5d |
|
16-Jun-2008 |
David McPaul <dlmcpaul@gmail.com> |
Correct error message and minor layout changes to InfoWin git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12f1188b |
|
02-Jun-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Do not reference bitmap color spaces directly anymore, but use bitmaps_support_space() interface kit function. First try to use overlays, if that fails, try again without overlays. The NodeManager makes sure to fall back to B_RGB32 if the given mode is not supported for drawing bitmaps in by BViews. Thanks, Axel, for the suggestion! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25764 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4fd26cd5 |
|
31-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Reuse existing nodes if the media formats do not change. This fixes the regression that audio playback of multiple files was not "seamless" anymore. Even video playback should be seamless, the remaining small glitch could be a problem with buffer timeout if the switch takes too long. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7f2503a |
|
31-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Support codecs that don't support B_YCbCrXXX color spaces. * Leave the codec a chance to advertise the best output color space, try B_YCbCr422 as the most widely supported format in case the codec does not advertise. * Support two more overlay colorspace modes in the video consumer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fc56ed5 |
|
30-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Moved a bunch of non-primary interface classes into a new subfolder "interface" * Complete reimplementation of the playback engine using Media Nodes: - Seeking video files does not appear to lockup the playback anymore, but works on a frame accurate level even for keyframe based streams. There is currently a problem with certain container formats, the audio track reports a "Device Seek Error" in certain conditions. In that case audio goes silent, and can be restarted by going back to the beginnings of the stream. - Video overlays are now supported. - It would be possible to connect the output of the MediaPlayer to other applications or dormant media nodes. * Known regressions: - The volume slider has currently no effect anymore. - Switching the audio track during playback has a known race condition and can crash the player. - The new engine is not as "light weight" as the old one. I tagged the previous implementation in tags/components/mediaplayer-engine-v1. It does not seem to have any noticable effect though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
843a122fd9a17bfde0f01db2c5660c33524bf40c |
|
04-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
MediaPlayer: some 64 bit fixes
|
#
2e1347b2bfc34f47f20174ae1112d7b4f774ae48 |
|
29-Apr-2013 |
Murai Takashi <tmurai01@gmail.com> |
Fix more GCC4 narrowing conversion warnings Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
9a52ead33e3432bc2afc0d215befca1d34868843 |
|
18-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
* Don't try to change the run-mode of the consumer if it has not been created yet. (Avoids a debug message only.) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89f25d71bf980911abce1c88324c326232b02572 |
|
15-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Enabled the code which sets the consumer run-mode based on the current play back mode. I.e. paused or stopped playback get's B_OFFLINE run-mode, which makes sure the Consumer does not drop frames when they are too late. When single stepping frames backwards, the producer may have needed a lot of time to generate a frame and it may arrive late, which is no problem when the video is paused. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38667 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0beac2ff048390fecd8a08a99e7dd2cd8a9724b4 |
|
09-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
PlaybackManager: * Make sure that the messages which trigger a performance time update a) don't pever pile up and b) that we don't still receive an event after reinitialization (would not have been a problem, at one point I thought it was). * Don't compile in support for changing the playback speed for the moment. * Better support for notifying the reaching of a seek frame, In _UpdateStates(), the wrong state (most often out of bounds) was checked to be a seek request state. Check if a seek request was reached in all other cases where states are removed. Controller: * Simple but important simplification of the problem that seeked frames are reached asynchronously and with a latency: In TimePosition() simply report the seeked frame, if there are still pending seek requests. This allows a consistent view from the outside, i.e. after calling SetTimePosition(), TimePosition() will not return something different. * Use a more robust way to track pending seek requests. A new request may have been issued while not having reached the previous one yet. * Implement a notification for reaching the seek frame, but I didn't need it after all, may come in handy later... MainWin: * Change the cursor left/right keys to support winding. Cursor up/down change the volume, Cmd-up/down skips to the previous/next playlist item, left/right do the winding now, as requested in ticket #2495. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38594 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
959a162c91097fe6ff3890c253aa09ab64691486 |
|
06-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Always call PlaybackManager::Init() in FormatChanged(). This makes sure we don't deal with stale PlayingState and other outdated data when the Controller initializes to a new file, but does not need to teardown the old and setup new media nodes. Fixes ticket #3855. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38551 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bafcab9265d78ede53aa2d22cce1d3f938fccf93 |
|
13-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36222 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7974d3dcf39ce78e5885b481eee12e561ad6e096 |
|
13-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Updated Haiku apps to use sentence-case. What a huge undertaking... The files where I had to apply the patch manually (for mysterious reasons) have also gotten a whitespace cleanup. I've proof-read everything so hopefully there should be no problems. This should be the final part of #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa1a1c2980105e6293ad7cce436360ffa5e9033a |
|
20-Oct-2009 |
Stephan Aßmus <superstippi@gmx.de> |
All sorts of refactoring with regards to the audio node and format setup. At first I tried adding support for changing the format during running the node connection, but later found out that this is not implemented in the system mixer (it has this weird setting to allow input format changes, but if you do this, the media_server will just crash, since the backend does not support it yet). Also, the Media Kit documentation is extremely lacking in this regard. I ended up re-establishing the node connection when the audio format is supposed to change, just like it is already done for video. This means that audio files now play with their native channel count and frame rate. But it isn't so well tested yet, if 48 kHz for example introduce some clicks. The channel count should not be a problem though, I've also tested that with some movies and it works fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33678 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
613ecaf5f9eb4aaf399917fb239979e5256fb274 |
|
22-Aug-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Added the implementation behind the "Use overlays if available" and "Scale videos smoothly in non-overlay mode" options. * Disabled the other controls in the SettingsWindow which are not yet implemented. * Enable and disable Revert button according to settings state. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27157 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eb91d0058dead0e6f8dc79cc531907fb31012b6b |
|
14-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Whether an audio and/or video node is used is now more explicit. The audio node can now also be turned off for videos that don't have audio. * The PlaybackManager currently has the "no audio" support added in a not quite so nice way, will have to think about something, this is just quick and dirty to get it going. There is just two places where the audio time needs to be ignored, because it remains at zero. -> Especially when using OSS, the seeking latency will be much reduced when playing videos that have no sound. * The Controller now maintains the frame it wanted to seek to and does not forward "position changed" to other listeners as long as the seek frame has not been reached. This fixes the slider jumping back to the old position for a bit until jumping back to the seek frame. It also fixes another problem when switching to the next file. Because the total duration is already adopted while the old clip is still playing within the seek latency, the current position jumped to the new relative position, while it is still refering to the position within the old clip. So both seeking and switching clips looks much smoother now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26415 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9282400ff444c8d85c264f0f5fd16d1c639b7fae |
|
06-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* The SeekSlider did not update the knob when it was resized. * Subtile visual improvements to the SeekSlider. * Added a PeakView for displaying the audio peaks that are produced by the AudioProducer. * A MessageEvent can now directly take a custom BMessage for delivery. * The peak notification mechanism is a bit separate from the rest of the Controller notification design, since the notification delivery should be delayed until the audio is actually audible. I may change this quick and dirty design though, since it is not so nice. The target time could also be part of the message and be handled at a different stage, but that would make it less efficient. * Layout improvements to the playback controls. * Code cleanup here and there, changed some license statements. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26280 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b9b511dc4f2baab750ea01e46476aad5d144f7e4 |
|
26-Jun-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Small cleanup. * RealTimeForTime() did not work without VideoProducer. Maybe it is never used though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44820a5d881d22f36c6b432b526b60211e0fbec8 |
|
16-Jun-2008 |
David McPaul <dlmcpaul@gmail.com> |
Correct error message and minor layout changes to InfoWin git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25972 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12f1188b4f8b347be858310885fca08fd340a89d |
|
02-Jun-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Do not reference bitmap color spaces directly anymore, but use bitmaps_support_space() interface kit function. First try to use overlays, if that fails, try again without overlays. The NodeManager makes sure to fall back to B_RGB32 if the given mode is not supported for drawing bitmaps in by BViews. Thanks, Axel, for the suggestion! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25764 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4fd26cd542fbc74c81a5f8196c4f188f92a585a2 |
|
31-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Reuse existing nodes if the media formats do not change. This fixes the regression that audio playback of multiple files was not "seamless" anymore. Even video playback should be seamless, the remaining small glitch could be a problem with buffer timeout if the switch takes too long. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25735 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7f2503a082c6e32142bca8f396eee002b2ec851 |
|
31-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Support codecs that don't support B_YCbCrXXX color spaces. * Leave the codec a chance to advertise the best output color space, try B_YCbCr422 as the most widely supported format in case the codec does not advertise. * Support two more overlay colorspace modes in the video consumer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0fc56ed57bdd5d2d44f33edd17d94210704613bd |
|
30-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Moved a bunch of non-primary interface classes into a new subfolder "interface" * Complete reimplementation of the playback engine using Media Nodes: - Seeking video files does not appear to lockup the playback anymore, but works on a frame accurate level even for keyframe based streams. There is currently a problem with certain container formats, the audio track reports a "Device Seek Error" in certain conditions. In that case audio goes silent, and can be restarted by going back to the beginnings of the stream. - Video overlays are now supported. - It would be possible to connect the output of the MediaPlayer to other applications or dormant media nodes. * Known regressions: - The volume slider has currently no effect anymore. - Switching the audio track during playback has a known race condition and can crash the player. - The new engine is not as "light weight" as the old one. I tagged the previous implementation in tags/components/mediaplayer-engine-v1. It does not seem to have any noticable effect though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|