[vlc-commits] macosx: video effects: only set video splitters when needed
David Fuhrmann
git at videolan.org
Sun Aug 31 20:58:24 CEST 2014
vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Sun Aug 31 15:16:57 2014 +0200| [ddccf6b050412f348a00c12b857a48d4ac5e2b63] | committer: David Fuhrmann
macosx: video effects: only set video splitters when needed
Avoids setting this variable multiple times, as each time vout
restart is requested. Also avoids unnecessary vout restarts at
start and when changing profiles.
refs #12063
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ddccf6b050412f348a00c12b857a48d4ac5e2b63
---
modules/gui/macosx/VideoEffects.m | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/modules/gui/macosx/VideoEffects.m b/modules/gui/macosx/VideoEffects.m
index 55e7f9d..df9ac85 100644
--- a/modules/gui/macosx/VideoEffects.m
+++ b/modules/gui/macosx/VideoEffects.m
@@ -594,9 +594,6 @@ static VLCVideoEffects *_o_sharedInstance = nil;
vlc_object_release(p_vout);
}
- // video-splitter needs to be set via playlist var
- var_SetString(pl_Get(p_intf), "video-splitter", "");
-
/* fetch preset */
NSArray *items = [[[defaults objectForKey:@"VideoEffectProfiles"] objectAtIndex:selectedProfile] componentsSeparatedByString:@";"];
@@ -633,12 +630,13 @@ static VLCVideoEffects *_o_sharedInstance = nil;
tempString = B64DecNSStr([items objectAtIndex:2]);
/* enable another round of new filters */
- config_PutPsz(p_intf,"video-splitter", "");
- if ([tempString length] > 0) {
- tempArray = [tempString componentsSeparatedByString:@":"];
- count = [tempArray count];
- for (NSUInteger x = 0; x < count; x++)
- [vci_si setVideoFilter:[[tempArray objectAtIndex:x] UTF8String] on:YES];
+ char *psz_current_splitter = var_GetString(pl_Get(p_intf), "video-splitter");
+ bool b_filter_changed = ![tempString isEqual:toNSStr(psz_current_splitter)];
+ free(psz_current_splitter);
+
+ if (b_filter_changed) {
+ config_PutPsz(p_intf, "video-splitter", [tempString UTF8String]);
+ var_SetString(pl_Get(p_intf), "video-splitter", [tempString UTF8String]);
}
/* try to set filter values on-the-fly and store them appropriately */
More information about the vlc-commits
mailing list