Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
VideoLAN
libvlcpp
Commits
0199c315
Commit
0199c315
authored
Feb 19, 2015
by
Hugo Beauzée-Luyssen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Instance: use unique_ptr to manage module description list
parent
169ad3f6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
10 deletions
+10
-10
src/Instance.hpp
src/Instance.hpp
+10
-10
No files found.
src/Instance.hpp
View file @
0199c315
...
...
@@ -207,17 +207,17 @@ public:
*/
std
::
vector
<
ModuleDescription
>
audioFilterList
()
{
libvlc_module_description_t
*
result
=
libvlc_audio_filter_list_get
(
*
this
);
auto
releaser
=
[](
libvlc_module_description_t
*
ptr
)
{
libvlc_module_description_list_release
(
ptr
);
};
auto
ptr
=
std
::
unique_ptr
<
libvlc_module_description_t
,
decltype
(
releaser
)
>
(
libvlc_audio_filter_list_get
(
*
this
),
releaser
);
if
(
ptr
==
nullptr
)
return
{};
libvlc_module_description_t
*
p
=
ptr
.
get
();
std
::
vector
<
ModuleDescription
>
res
;
if
(
result
==
NULL
)
return
res
;
libvlc_module_description_t
*
p
=
result
;
while
(
p
!=
NULL
)
{
res
.
push_back
(
ModuleDescription
(
p
)
);
p
=
p
->
p_next
;
}
libvlc_module_description_list_release
(
result
);
return
res
;
}
...
...
@@ -235,17 +235,17 @@ public:
*/
std
::
vector
<
ModuleDescription
>
videoFilterList
()
{
libvlc_module_description_t
*
result
=
libvlc_video_filter_list_get
(
*
this
);
auto
releaser
=
[](
libvlc_module_description_t
*
ptr
)
{
libvlc_module_description_list_release
(
ptr
);
};
auto
ptr
=
std
::
unique_ptr
<
libvlc_module_description_t
,
decltype
(
releaser
)
>
(
libvlc_video_filter_list_get
(
*
this
),
releaser
);
if
(
ptr
==
nullptr
)
return
{};
libvlc_module_description_t
*
p
=
ptr
.
get
();
std
::
vector
<
ModuleDescription
>
res
;
if
(
result
==
NULL
)
return
res
;
libvlc_module_description_t
*
p
=
result
;
while
(
p
!=
NULL
)
{
res
.
push_back
(
ModuleDescription
(
p
)
);
p
=
p
->
p_next
;
}
libvlc_module_description_list_release
(
result
);
return
res
;
}
...
...
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