Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgst_play.cpp
Go to the documentation of this file.
1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include <common/qgst_play_p.h>
5
7
8namespace QGstPlaySupport {
9
10VideoInfo parseGstPlayVideoInfo(const GstPlayVideoInfo *info)
11{
12 VideoInfo videoInfo;
13
14 videoInfo.bitrate = gst_play_video_info_get_bitrate(info);
15 videoInfo.maxBitrate = gst_play_video_info_get_max_bitrate(info);
16
17 videoInfo.size = QSize{
18 gst_play_video_info_get_width(info),
19 gst_play_video_info_get_height(info),
20 };
21
22 {
23 gint nom, denom;
24 gst_play_video_info_get_framerate(info, &nom, &denom);
25 videoInfo.framerate = Fraction{
26 nom,
27 denom,
28 };
29 }
30
31 {
32 guint nom, denom;
33 gst_play_video_info_get_pixel_aspect_ratio(info, &nom, &denom);
34 videoInfo.pixelAspectRatio = Fraction{
35 int(nom),
36 int(denom),
37 };
38 }
39
40 return videoInfo;
41}
42
43AudioInfo parseGstPlayAudioInfo(const GstPlayAudioInfo *info)
44{
45 AudioInfo audioInfo;
46 audioInfo.channels = gst_play_audio_info_get_channels(info);
47 audioInfo.sampleRate = gst_play_audio_info_get_sample_rate(info);
48 audioInfo.bitrate = gst_play_audio_info_get_bitrate(info);
49 audioInfo.maxBitrate = gst_play_audio_info_get_max_bitrate(info);
50
51 audioInfo.language = QLocale::codeToLanguage(
52 QString::fromUtf8(gst_play_audio_info_get_language(info)), QLocale::AnyLanguageCode);
53
54 return audioInfo;
55}
56
57SubtitleInfo parseGstPlaySubtitleInfo(const GstPlaySubtitleInfo *info)
58{
59 SubtitleInfo subtitleInfo;
60
61 subtitleInfo.language = QLocale::codeToLanguage(
62 QString::fromUtf8(gst_play_subtitle_info_get_language(info)), QLocale::AnyLanguageCode);
63
64 return subtitleInfo;
65}
66
67int getStreamIndex(const GstPlayStreamInfo *info)
68{
69 if (info == nullptr)
70 return -1;
71
72 return gst_play_stream_info_get_index(info);
73}
74
75} // namespace QGstPlaySupport
76
77QT_END_NAMESPACE
AudioInfo parseGstPlayAudioInfo(const GstPlayAudioInfo *info)
Definition qgst_play.cpp:43
VideoInfo parseGstPlayVideoInfo(const GstPlayVideoInfo *info)
Definition qgst_play.cpp:10
int getStreamIndex(const GstPlayStreamInfo *info)
Definition qgst_play.cpp:67
SubtitleInfo parseGstPlaySubtitleInfo(const GstPlaySubtitleInfo *info)
Definition qgst_play.cpp:57