Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
gstreamer-rs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Zeeshan Ali
gstreamer-rs
Commits
a411ae41
Commit
a411ae41
authored
Aug 10, 2017
by
Sebastian Dröge
🍵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add GstStreamVolume interface
parent
fefa4819
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
114 additions
and
3 deletions
+114
-3
Gir_GstAudio.toml
Gir_GstAudio.toml
+2
-0
gstreamer-audio/src/auto/enums.rs
gstreamer-audio/src/auto/enums.rs
+37
-1
gstreamer-audio/src/auto/flags.rs
gstreamer-audio/src/auto/flags.rs
+1
-1
gstreamer-audio/src/auto/mod.rs
gstreamer-audio/src/auto/mod.rs
+7
-1
gstreamer-audio/src/auto/stream_volume.rs
gstreamer-audio/src/auto/stream_volume.rs
+67
-0
No files found.
Gir_GstAudio.toml
View file @
a411ae41
...
...
@@ -21,6 +21,8 @@ generate = [
"GstAudio.AudioLayout"
,
"GstAudio.AudioPackFlags"
,
"GstAudio.AudioChannelPosition"
,
"GstAudio.StreamVolume"
,
"GstAudio.StreamVolumeFormat"
,
]
manual
=
[
...
...
gstreamer-audio/src/auto/enums.rs
View file @
a411ae41
// This file was generated by gir (3294959
+
) from gir-files (???)
// This file was generated by gir (3294959) from gir-files (???)
// DO NOT EDIT
use
ffi
;
...
...
@@ -357,3 +357,39 @@ impl SetValue for AudioLayout {
}
}
#[derive(Clone,
Copy,
Debug,
Eq,
PartialEq,
Hash)]
pub
enum
StreamVolumeFormat
{
Linear
,
Cubic
,
Db
,
#[doc(hidden)]
__
Unknown
(
i32
),
}
#[doc(hidden)]
impl
ToGlib
for
StreamVolumeFormat
{
type
GlibType
=
ffi
::
GstStreamVolumeFormat
;
fn
to_glib
(
&
self
)
->
ffi
::
GstStreamVolumeFormat
{
match
*
self
{
StreamVolumeFormat
::
Linear
=>
ffi
::
GST_STREAM_VOLUME_FORMAT_LINEAR
,
StreamVolumeFormat
::
Cubic
=>
ffi
::
GST_STREAM_VOLUME_FORMAT_CUBIC
,
StreamVolumeFormat
::
Db
=>
ffi
::
GST_STREAM_VOLUME_FORMAT_DB
,
StreamVolumeFormat
::
__
Unknown
(
value
)
=>
unsafe
{
std
::
mem
::
transmute
(
value
)}
}
}
}
#[doc(hidden)]
impl
FromGlib
<
ffi
::
GstStreamVolumeFormat
>
for
StreamVolumeFormat
{
fn
from_glib
(
value
:
ffi
::
GstStreamVolumeFormat
)
->
Self
{
skip_assert_initialized!
();
match
value
as
i32
{
0
=>
StreamVolumeFormat
::
Linear
,
1
=>
StreamVolumeFormat
::
Cubic
,
2
=>
StreamVolumeFormat
::
Db
,
value
=>
StreamVolumeFormat
::
__
Unknown
(
value
),
}
}
}
gstreamer-audio/src/auto/flags.rs
View file @
a411ae41
// This file was generated by gir (3294959
+
) from gir-files (???)
// This file was generated by gir (3294959) from gir-files (???)
// DO NOT EDIT
use
ffi
;
...
...
gstreamer-audio/src/auto/mod.rs
View file @
a411ae41
// This file was generated by gir (3294959
+
) from gir-files (???)
// This file was generated by gir (3294959) from gir-files (???)
// DO NOT EDIT
mod
stream_volume
;
pub
use
self
::
stream_volume
::
StreamVolume
;
pub
use
self
::
stream_volume
::
StreamVolumeExt
;
mod
enums
;
pub
use
self
::
enums
::
AudioChannelPosition
;
pub
use
self
::
enums
::
AudioFormat
;
pub
use
self
::
enums
::
AudioLayout
;
pub
use
self
::
enums
::
StreamVolumeFormat
;
mod
flags
;
pub
use
self
::
flags
::
AudioFlags
;
...
...
@@ -22,4 +27,5 @@ pub use self::flags::AUDIO_PACK_FLAG_TRUNCATE_RANGE;
#[doc(hidden)]
pub
mod
traits
{
pub
use
super
::
StreamVolumeExt
;
}
gstreamer-audio/src/auto/stream_volume.rs
0 → 100644
View file @
a411ae41
// This file was generated by gir (3294959) from gir-files (???)
// DO NOT EDIT
use
StreamVolumeFormat
;
use
ffi
;
use
glib
::
object
::
IsA
;
use
glib
::
translate
::
*
;
use
glib_ffi
;
use
gobject_ffi
;
use
std
::
mem
;
use
std
::
ptr
;
glib_wrapper!
{
pub
struct
StreamVolume
(
Object
<
ffi
::
GstStreamVolume
>
);
match
fn
{
get_type
=>
||
ffi
::
gst_stream_volume_get_type
(),
}
}
impl
StreamVolume
{
pub
fn
convert_volume
(
from
:
StreamVolumeFormat
,
to
:
StreamVolumeFormat
,
val
:
f64
)
->
f64
{
assert_initialized_main_thread!
();
unsafe
{
ffi
::
gst_stream_volume_convert_volume
(
from
.to_glib
(),
to
.to_glib
(),
val
)
}
}
}
unsafe
impl
Send
for
StreamVolume
{}
unsafe
impl
Sync
for
StreamVolume
{}
pub
trait
StreamVolumeExt
{
fn
get_mute
(
&
self
)
->
bool
;
fn
get_volume
(
&
self
,
format
:
StreamVolumeFormat
)
->
f64
;
fn
set_mute
(
&
self
,
mute
:
bool
);
fn
set_volume
(
&
self
,
format
:
StreamVolumeFormat
,
val
:
f64
);
}
impl
<
O
:
IsA
<
StreamVolume
>>
StreamVolumeExt
for
O
{
fn
get_mute
(
&
self
)
->
bool
{
unsafe
{
from_glib
(
ffi
::
gst_stream_volume_get_mute
(
self
.to_glib_none
()
.0
))
}
}
fn
get_volume
(
&
self
,
format
:
StreamVolumeFormat
)
->
f64
{
unsafe
{
ffi
::
gst_stream_volume_get_volume
(
self
.to_glib_none
()
.0
,
format
.to_glib
())
}
}
fn
set_mute
(
&
self
,
mute
:
bool
)
{
unsafe
{
ffi
::
gst_stream_volume_set_mute
(
self
.to_glib_none
()
.0
,
mute
.to_glib
());
}
}
fn
set_volume
(
&
self
,
format
:
StreamVolumeFormat
,
val
:
f64
)
{
unsafe
{
ffi
::
gst_stream_volume_set_volume
(
self
.to_glib_none
()
.0
,
format
.to_glib
(),
val
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment