Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
videolan
vlc-2-2
Commits
b900a611
Commit
b900a611
authored
May 20, 2009
by
Rémi Duraffort
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix memleak (same problem with var_Change())
parent
5efbd6a1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
14 deletions
+25
-14
src/control/video.c
src/control/video.c
+25
-14
No files found.
src/control/video.c
View file @
b900a611
...
@@ -334,7 +334,7 @@ void libvlc_video_set_viewport( libvlc_instance_t *p_instance, libvlc_media_play
...
@@ -334,7 +334,7 @@ void libvlc_video_set_viewport( libvlc_instance_t *p_instance, libvlc_media_play
}
}
}
}
#else
#else
(
void
)
p_instance
;
(
void
)
view
;
(
void
)
clip
;
(
void
)
p_e
;
(
void
)
p_instance
;
(
void
)
p_mi
;
(
void
)
view
;
(
void
)
clip
;
(
void
)
p_e
;
#endif
#endif
}
}
...
@@ -417,13 +417,13 @@ int libvlc_video_get_spu( libvlc_media_player_t *p_mi,
...
@@ -417,13 +417,13 @@ int libvlc_video_get_spu( libvlc_media_player_t *p_mi,
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
for
(
i
=
0
;
i
<
val_list
.
p_list
->
i_count
;
i
++
)
for
(
i
=
0
;
i
<
val_list
.
p_list
->
i_count
;
i
++
)
{
{
vlc_value_t
spu_val
=
val_list
.
p_list
->
p_values
[
i
];
if
(
val
.
i_int
==
val_list
.
p_list
->
p_values
[
i
].
i_int
)
if
(
val
.
i_int
==
spu_val
.
i_int
)
{
{
i_spu
=
i
;
i_spu
=
i
;
break
;
break
;
}
}
}
}
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
return
i_spu
;
return
i_spu
;
}
}
...
@@ -433,13 +433,17 @@ int libvlc_video_get_spu_count( libvlc_media_player_t *p_mi,
...
@@ -433,13 +433,17 @@ int libvlc_video_get_spu_count( libvlc_media_player_t *p_mi,
{
{
input_thread_t
*
p_input_thread
=
libvlc_get_input_thread
(
p_mi
,
p_e
);
input_thread_t
*
p_input_thread
=
libvlc_get_input_thread
(
p_mi
,
p_e
);
vlc_value_t
val_list
;
vlc_value_t
val_list
;
int
i_spu_count
;
if
(
!
p_input_thread
)
if
(
!
p_input_thread
)
return
-
1
;
return
-
1
;
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
i_spu_count
=
val_list
.
p_list
->
i_count
;
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
return
val_list
.
p_list
->
i
_count
;
return
i_spu
_count
;
}
}
libvlc_track_description_t
*
libvlc_track_description_t
*
...
@@ -464,15 +468,13 @@ void libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu,
...
@@ -464,15 +468,13 @@ void libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu,
if
(
val_list
.
p_list
->
i_count
==
0
)
if
(
val_list
.
p_list
->
i_count
==
0
)
{
{
libvlc_exception_raise
(
p_e
,
"Subtitle value out of range"
);
libvlc_exception_raise
(
p_e
,
"Subtitle value out of range"
);
vlc_object_release
(
p_input_thread
);
goto
end
;
return
;
}
}
if
(
(
i_spu
<
0
)
&&
(
i_spu
>
val_list
.
p_list
->
i_count
)
)
if
(
(
i_spu
<
0
)
&&
(
i_spu
>
val_list
.
p_list
->
i_count
)
)
{
{
libvlc_exception_raise
(
p_e
,
"Subtitle value out of range"
);
libvlc_exception_raise
(
p_e
,
"Subtitle value out of range"
);
vlc_object_release
(
p_input_thread
);
goto
end
;
return
;
}
}
newval
=
val_list
.
p_list
->
p_values
[
i_spu
];
newval
=
val_list
.
p_list
->
p_values
[
i_spu
];
...
@@ -481,6 +483,9 @@ void libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu,
...
@@ -481,6 +483,9 @@ void libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu,
{
{
libvlc_exception_raise
(
p_e
,
"Setting subtitle value failed"
);
libvlc_exception_raise
(
p_e
,
"Setting subtitle value failed"
);
}
}
end:
var_Change
(
p_input_thread
,
"spu-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
}
}
...
@@ -653,13 +658,17 @@ int libvlc_video_get_track_count( libvlc_media_player_t *p_mi,
...
@@ -653,13 +658,17 @@ int libvlc_video_get_track_count( libvlc_media_player_t *p_mi,
{
{
input_thread_t
*
p_input_thread
=
libvlc_get_input_thread
(
p_mi
,
p_e
);
input_thread_t
*
p_input_thread
=
libvlc_get_input_thread
(
p_mi
,
p_e
);
vlc_value_t
val_list
;
vlc_value_t
val_list
;
int
i_track_count
;
if
(
!
p_input_thread
)
if
(
!
p_input_thread
)
return
-
1
;
return
-
1
;
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
i_track_count
=
val_list
.
p_list
->
i_count
;
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
return
val_list
.
p_list
->
i
_count
;
return
i_track
_count
;
}
}
libvlc_track_description_t
*
libvlc_track_description_t
*
...
@@ -693,13 +702,13 @@ int libvlc_video_get_track( libvlc_media_player_t *p_mi,
...
@@ -693,13 +702,13 @@ int libvlc_video_get_track( libvlc_media_player_t *p_mi,
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_GETCHOICES
,
&
val_list
,
NULL
);
for
(
i
=
0
;
i
<
val_list
.
p_list
->
i_count
;
i
++
)
for
(
i
=
0
;
i
<
val_list
.
p_list
->
i_count
;
i
++
)
{
{
vlc_value_t
track_val
=
val_list
.
p_list
->
p_values
[
i
];
if
(
val_list
.
p_list
->
p_values
[
i
].
i_int
==
val
.
i_int
)
if
(
track_val
.
i_int
==
val
.
i_int
)
{
{
i_track
=
i
;
i_track
=
i
;
break
;
break
;
}
}
}
}
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
return
i_track
;
return
i_track
;
}
}
...
@@ -724,11 +733,13 @@ void libvlc_video_set_track( libvlc_media_player_t *p_mi, int i_track,
...
@@ -724,11 +733,13 @@ void libvlc_video_set_track( libvlc_media_player_t *p_mi, int i_track,
i_ret
=
var_Set
(
p_input_thread
,
"audio-es"
,
val
);
i_ret
=
var_Set
(
p_input_thread
,
"audio-es"
,
val
);
if
(
i_ret
<
0
)
if
(
i_ret
<
0
)
libvlc_exception_raise
(
p_e
,
"Setting video track failed"
);
libvlc_exception_raise
(
p_e
,
"Setting video track failed"
);
vlc_object_release
(
p_input_thread
);
goto
end
;
return
;
}
}
}
}
libvlc_exception_raise
(
p_e
,
"Video track out of range"
);
libvlc_exception_raise
(
p_e
,
"Video track out of range"
);
end:
var_Change
(
p_input_thread
,
"video-es"
,
VLC_VAR_FREELIST
,
&
val_list
,
NULL
);
vlc_object_release
(
p_input_thread
);
vlc_object_release
(
p_input_thread
);
}
}
...
...
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