Skip to content

Commit f6f9b28

Browse files
committed
[更新Qt版本并增加音视频轨道选择功能]:
- 更新了`action.yml`文件中的Qt版本至6.7.2。 - 调整了`qt.cmake`文件中的Qt路径,以适应Windows和Linux上的新版本。 - 在`mainwindow.cpp`和`mainwindow.cc`文件中,增加了音视频轨道选择功能,允许用户选择无轨道选项。 - 修正了`createtoneMappingMenu`函数的命名,以符合C++的命名规范。 - 在`mediainfo.hpp`中,将`TraskInfo`结构体的`id`成员类型从`int`更改为`QVariant`,以支持更灵活的类型。 - 更新了`vcpkg.json`文件,增加了对ffmpeg的特定功能支持,并更新了内置基线的哈希值。
1 parent 618c578 commit f6f9b28

File tree

6 files changed

+57
-43
lines changed

6 files changed

+57
-43
lines changed

.github/actions/install-dependencies/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ inputs:
2323
qt_ver:
2424
description: 'qt version'
2525
required: false
26-
default: '6.7.1'
26+
default: '6.7.2'
2727
type: string
2828

2929
runs:

cmake/qt.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
if(CMAKE_HOST_WIN32)
2-
list(APPEND CMAKE_PREFIX_PATH "C:\\Qt\\6.7.1\\msvc2019_64")
2+
list(APPEND CMAKE_PREFIX_PATH "C:\\Qt\\6.7.2\\msvc2019_64")
33
elseif(CMAKE_HOST_APPLE)
44

55
elseif(CMAKE_HOST_LINUX)
6-
list(APPEND CMAKE_PREFIX_PATH "/opt/Qt/6.7.1/gcc_64")
6+
list(APPEND CMAKE_PREFIX_PATH "/opt/Qt/6.7.2/gcc_64")
77
endif()

examples/ffmpegplayer/mainwindow.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class MainWindow::MainWindowPrivate
7676

7777
~MainWindowPrivate() = default;
7878

79-
auto createtoneMappingMenu() -> QMenu *
79+
auto createToneMappingMenu() -> QMenu *
8080
{
8181
auto *group = new QActionGroup(q_ptr);
8282
group->setExclusive(true);
@@ -710,7 +710,7 @@ void MainWindow::initMenu()
710710
connect(equalizerAction, &QAction::triggered, this, &MainWindow::onEqualizer);
711711
d_ptr->videoMenu->addAction(equalizerAction);
712712

713-
d_ptr->videoMenu->addMenu(d_ptr->createtoneMappingMenu());
713+
d_ptr->videoMenu->addMenu(d_ptr->createToneMappingMenu());
714714
d_ptr->videoMenu->addMenu(d_ptr->createTargetPrimariesMenu());
715715

716716
connect(d_ptr->audioTracksGroup, &QActionGroup::triggered, this, [this](QAction *action) {

examples/mpvplayer/mainwindow.cc

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class MainWindow::MainWindowPrivate
122122
return menu;
123123
}
124124

125-
auto createtoneMappingMenu() -> QMenu *
125+
auto createToneMappingMenu() -> QMenu *
126126
{
127127
auto *group = new QActionGroup(q_ptr);
128128
group->setExclusive(true);
@@ -423,7 +423,15 @@ void MainWindow::onTrackChanged()
423423
{
424424
d_ptr->resetTrackMenu();
425425

426+
Mpv::TraskInfo noTrackInfo;
427+
noTrackInfo.id = "no";
428+
noTrackInfo.title = "no";
429+
noTrackInfo.selected = true;
430+
426431
auto videoTracks = d_ptr->mpvPlayer->videoTracks();
432+
if (!videoTracks.isEmpty()) {
433+
videoTracks.insert(0, noTrackInfo);
434+
}
427435
for (const auto &item : std::as_const(videoTracks)) {
428436
auto *action = new QAction(item.text(), this);
429437
action->setData(QVariant::fromValue(item));
@@ -436,6 +444,9 @@ void MainWindow::onTrackChanged()
436444
}
437445

438446
auto audioTracks = d_ptr->mpvPlayer->audioTracks();
447+
if (!audioTracks.isEmpty()) {
448+
audioTracks.insert(0, noTrackInfo);
449+
}
439450
for (const auto &item : std::as_const(audioTracks)) {
440451
auto *action = new QAction(item.text(), this);
441452
action->setData(QVariant::fromValue(item));
@@ -448,6 +459,9 @@ void MainWindow::onTrackChanged()
448459
}
449460

450461
auto subTracks = d_ptr->mpvPlayer->subTracks();
462+
if (!subTracks.isEmpty()) {
463+
subTracks.insert(0, noTrackInfo);
464+
}
451465
for (const auto &item : std::as_const(subTracks)) {
452466
auto *action = new QAction(item.text(), this);
453467
action->setData(QVariant::fromValue(item));
@@ -775,7 +789,7 @@ void MainWindow::initMenu()
775789
auto *equalizerAction = new QAction(tr("Equalizer"), this);
776790
connect(equalizerAction, &QAction::triggered, this, &MainWindow::onEqualizer);
777791
d_ptr->videoMenu->addAction(equalizerAction);
778-
d_ptr->videoMenu->addMenu(d_ptr->createtoneMappingMenu());
792+
d_ptr->videoMenu->addMenu(d_ptr->createToneMappingMenu());
779793
d_ptr->videoMenu->addMenu(d_ptr->createTargetPrimariesMenu());
780794

781795
connect(d_ptr->videoTracksGroup, &QActionGroup::triggered, this, [this](QAction *action) {

src/mpv/mediainfo.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct MPV_LIB_EXPORT TraskInfo
2222
int ff_index = 0;
2323
bool forced = false;
2424
bool hearing_impaired = false;
25-
int id = 0;
25+
QVariant id;
2626
bool image = false;
2727
QString lang;
2828
bool selected = false;

vcpkg.json

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
{
2-
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
3-
"name": "qt-media",
4-
"version": "0.0.1",
5-
"description": "manifest",
6-
"dependencies": [
7-
"breakpad",
8-
"crashpad",
2+
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
3+
"name": "qt-media",
4+
"version": "0.0.1",
5+
"description": "manifest",
6+
"dependencies": [
7+
"breakpad",
8+
"crashpad",
9+
{
10+
"name": "ffmpeg",
11+
"features": [
12+
"opengl",
13+
"ass",
14+
"bzip2",
15+
"freetype",
16+
"fribidi",
17+
"zlib",
18+
"gpl",
19+
"ffmpeg",
20+
"ffplay",
21+
"ffprobe",
922
{
10-
"name": "ffmpeg",
11-
"features": [
12-
"opengl",
13-
"ass",
14-
"bzip2",
15-
"freetype",
16-
"fribidi",
17-
"zlib",
18-
"gpl",
19-
"ffmpeg",
20-
"ffplay",
21-
"ffprobe",
22-
{
23-
"name": "qsv",
24-
"platform": "windows"
25-
},
26-
{
27-
"name": "amf",
28-
"platform": "windows | linux"
29-
},
30-
{
31-
"name": "nvcodec",
32-
"platform": "windows | linux"
33-
}
34-
]
23+
"name": "qsv",
24+
"platform": "windows"
25+
},
26+
{
27+
"name": "amf",
28+
"platform": "windows | linux"
29+
},
30+
{
31+
"name": "nvcodec",
32+
"platform": "windows | linux"
3533
}
36-
],
37-
"builtin-baseline": "dee924de74e81388140a53c32a919ecec57d20ab"
38-
}
34+
]
35+
}
36+
],
37+
"builtin-baseline": "c4467cb686f92671f0172aa8299a77d908175b4e"
38+
}

0 commit comments

Comments
 (0)