159 Commits

Author SHA1 Message Date
JiaboLi 7d3b3af691 Optimize the Vulkan rendering engine
1.Optimize the texture data transfer mechanism based on memory alignment.
2.Adjust the creation timing of the DescriptorPool, moving it from initSwapChainResources to initResources.
3.Add Vulkan color space configuration items to the Player instance.
2025-08-15 21:24:54 +08:00
JiaboLi 3b3787a1b6 设置渲染引擎失败时,没有释放无效的渲染引擎,引发内存泄漏。 2025-07-22 23:21:06 +08:00
waterstrider 4ceee22176 Update MainWindow.cpp
add missing import to make it compile
2022-01-13 14:38:31 +07:00
waterstrider 6b54dc31aa Update MainWindow.cpp
add missing import to make it compile
2022-01-13 14:34:02 +07:00
wang-bin dff05bbb7c example: implement intermediate fbo for filtering rgb texture 2017-09-21 15:57:18 +08:00
WangBin 08f2f87c75 Update MainWindow.cpp 2017-07-31 09:42:59 +08:00
wangwenx190 f6458955ee 使m_preview成为一个Tool Window,这样它就不会显示在任务栏上了 2017-07-30 22:40:57 +08:00
wangwenx190 ef3d1d3923 修复Player出现视频预览小窗后其解码所需的额外内存不会在其关闭后释放的问题
鼠标离开TimeSlider后即删除m_preview窗口,其解码过程即刻停止,内存占用即可下降
2017-07-30 22:23:12 +08:00
ravas 5b3d8f25b7 set the Player's style to Fusion for OS X; #738
This is a work-around for the broken slider in the default Macintosh
style.
2016-09-29 23:23:55 -07:00
wang-bin 09e6e403f7 ao: simplify API
AudioOutput.setAudioFormat() now use a prefered format if not supported,
and return the actual format used
2016-07-25 16:11:07 +08:00
wang-bin 4746975dbe fix playback restart after stop() in repeat mode #670
AVPlayer.currentRepeat() < 0 if playback is stopped. Previous was 0
2016-07-06 23:46:45 +08:00
wang-bin 2d0dd1d1c8 apply frame rate when playing 2016-06-30 00:00:30 +08:00
wang-bin d3d9a32586 examples/player: add user shader ui 2016-06-15 18:08:39 +08:00
wang-bin 20284f418c AVPlayer: support manually load(). play() is not replay now
load() then play()
2016-05-30 23:19:59 +08:00
wang-bin 3723ab1fd5 examples: use sql 2016-03-22 15:22:41 +08:00
wang-bin bc4e7d8500 examples: QMLPlayer history panel, player zoom for mac 2016-03-22 15:02:10 +08:00
wang-bin 4851402f30 add signal parameter AVPlayer.seekFinished(qint64)
The position() you get in the slot is not exactly the video seek finish
timestamp, but the clock value. You must use the signal parameter. So if
audio stream seeking is not finished, the value can be very different
from video timestamp.
TODO: emit seekFinished when all streams done the seeking?
2016-01-24 22:21:25 +08:00
wang-bin 5d38ff0dcb vo: simplify signal emtit logic. add properties for qobj renderes
signal xxxChanged is emitted in base class VideoRenderer. derived
classes just declare these signals and implemented by moc.
also rename VideoRenderer.frameSize to VideoRenderer.videoFrameSize
the result is abi break.
2016-01-06 15:28:34 +08:00
wang-bin 575e0dba32 add AVPlayer.bufferSpeed 2015-12-31 21:24:16 +08:00
wang-bin 94b894b5b6 examples/player: uninstall old libavfilter if parameters changed 2015-12-10 12:41:21 +08:00
wang-bin 554edd75f9 example/player: avoid frame for x11 renderer is scaled twice
x11 renderer scales the input frames(any format), and now in rendering
thread(was in video decoding thread).
2015-10-30 18:46:14 +08:00
wang-bin 9ce84a580d examples: add pro to build from sdk
TODO: test app build from sdk in ci
2015-10-09 01:09:12 +08:00
Felix Yan 0bd0553c36 fix a typo: stero => stereo 2015-10-03 13:46:25 +08:00
wang-bin 68a2731a9c examples: log level, registered renderers etc 2015-09-25 01:03:12 +08:00
wang-bin 0856ed2b54 vo: add x11 renderer. no scale support now 2015-09-22 21:05:46 +08:00
wang-bin 8058ac5a46 no stl types that break abi
most algorithms and containers are fine. no std::string, exception
2015-09-13 22:48:32 +08:00
wang-bin 43bdf14ebc example player: avoid reopen decoder in play() 2015-09-11 18:19:38 +08:00
wang-bin 9126e2c2fc warnings etc 2015-09-01 00:02:08 +08:00
wang-bin cca066cc5d examples: ui update 2015-08-25 01:29:07 +08:00
wang-bin 84ed2aa3e1 QT_NO_CAST_FROM_ASCI build error part3: examples 2015-08-08 21:16:28 +08:00
wang-bin 1c383faf1e ao: add null backend to disable audio output and thread 2015-07-22 17:01:22 +08:00
wang-bin 614c53bec0 examples: misc 2015-07-09 17:12:36 +08:00
wang-bin dd294db5c3 player example: icon, layout, translations update 2015-07-09 01:53:14 +08:00
wang-bin b2390f75c2 player example: save history on media change 2015-06-24 22:34:05 +08:00
wang-bin e8a432870c add external audio track support
TODO:
disable audio if internal stream number < 0
2015-05-13 21:46:41 +08:00
wang-bin fe1aa21690 player: abort on timeout option 2015-04-20 15:22:48 +08:00
wang-bin 59ace159e0 player: set timeout ui 2015-04-17 14:50:43 +08:00
wang-bin afbc7cb024 player: more options on setup dialog 2015-04-14 12:47:53 +08:00
wang-bin 8983506fe2 player: add audio filter 2015-03-28 15:35:34 +08:00
wang-bin 8e5127cf8b avfilter: disable if failed to config graph. fix wrong ctor
wrong ctor result in unexpected crashes
2015-03-27 21:35:19 +08:00
wang-bin b436467465 new classes for avfilter for audio/video 2015-03-27 13:14:16 +08:00
wang-bin df3208c8bf add bufferProgress property to player 2015-03-19 16:26:56 +08:00
wang-bin e9db66cda5 emit volumeChanged instead & update volume() if volume changed outside 2015-03-16 17:57:11 +08:00
wang-bin 51481f8a66 examples: players support update volume ui if volume changed from system 2015-03-10 16:41:08 +08:00
wang-bin b419954beb player: add fps control option 2015-03-04 17:09:53 +08:00
wang-bin 72644baffc player: add preview config ui 2015-02-27 21:16:30 +08:00
wang-bin b8a3213f56 widgets: add VideoPreviewWidget 2015-02-13 12:50:12 +08:00
wang-bin c5fa2c7e31 player: preview support 2015-02-13 00:34:02 +08:00
wang-bin 3bbf80ccf8 add AVPlayer.isSeekable. improve seekable detection
seekable in old implemention is always true. not sure whether current
solution is correct or not
2015-01-20 16:43:17 +08:00
wang-bin 560218ff72 update statistics if audio track changed 2015-01-20 13:39:22 +08:00