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
VLC-iOS
Commits
11a434c6
Commit
11a434c6
authored
Oct 04, 2014
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added support for enhanced playback sync with SPU and audio delays (close #11236)
parent
b834227e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
188 additions
and
55 deletions
+188
-55
Resources/VLCMovieViewController~ipad.xib
Resources/VLCMovieViewController~ipad.xib
+86
-31
Resources/VLCMovieViewController~iphone.xib
Resources/VLCMovieViewController~iphone.xib
+66
-15
Resources/en.lproj/Localizable.strings
Resources/en.lproj/Localizable.strings
+0
-0
Sources/VLCMovieViewController.h
Sources/VLCMovieViewController.h
+7
-1
Sources/VLCMovieViewController.m
Sources/VLCMovieViewController.m
+29
-8
No files found.
Resources/VLCMovieViewController~ipad.xib
View file @
11a434c6
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB"
version=
"3.0"
toolsVersion=
"
5053
"
systemVersion=
"1
2F45
"
targetRuntime=
"iOS.CocoaTouch.iPad"
propertyAccessControl=
"none"
>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB"
version=
"3.0"
toolsVersion=
"
6249
"
systemVersion=
"1
4A379a
"
targetRuntime=
"iOS.CocoaTouch.iPad"
propertyAccessControl=
"none"
>
<dependencies>
<deployment
defaultVersion=
"1552"
identifier=
"iOS"
/>
<development
version=
"5
0
00"
identifier=
"xcode"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"
373
3"
/>
<deployment
identifier=
"iOS"
/>
<development
version=
"5
1
00"
identifier=
"xcode"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"
624
3"
/>
</dependencies>
<objects>
<placeholder
placeholderIdentifier=
"IBFilesOwner"
id=
"-1"
userLabel=
"File's Owner"
customClass=
"VLCMovieViewController"
>
...
...
@@ -12,6 +12,9 @@
<outlet
property=
"artistNameLabel"
destination=
"303"
id=
"306"
/>
<outlet
property=
"artworkImageView"
destination=
"g3j-bZ-K3S"
id=
"fPn-6f-Kez"
/>
<outlet
property=
"aspectRatioButton"
destination=
"198"
id=
"229"
/>
<outlet
property=
"audioDelayIndicator"
destination=
"FYO-Rd-Vjg"
id=
"FVE-DI-BJ2"
/>
<outlet
property=
"audioDelayLabel"
destination=
"bQc-dz-mB8"
id=
"69P-Q3-3l3"
/>
<outlet
property=
"audioDelaySlider"
destination=
"ahb-li-nqH"
id=
"tQp-Zu-Sqd"
/>
<outlet
property=
"audioSwitcherButton"
destination=
"277"
id=
"292"
/>
<outlet
property=
"backButton"
destination=
"102"
id=
"111"
/>
<outlet
property=
"brightnessLabel"
destination=
"148"
id=
"165"
/>
...
...
@@ -43,6 +46,9 @@
<outlet
property=
"saturationSlider"
destination=
"149"
id=
"168"
/>
<outlet
property=
"scrubHelpLabel"
destination=
"243"
id=
"247"
/>
<outlet
property=
"scrubIndicatorView"
destination=
"242"
id=
"245"
/>
<outlet
property=
"spuDelayIndicator"
destination=
"cTE-tb-Z89"
id=
"Ll9-wY-xca"
/>
<outlet
property=
"spuDelayLabel"
destination=
"NX8-Zc-K6Y"
id=
"WLd-cA-fUn"
/>
<outlet
property=
"spuDelaySlider"
destination=
"juX-HR-PqD"
id=
"x4D-ki-Lwk"
/>
<outlet
property=
"statusLabel"
destination=
"205"
id=
"206"
/>
<outlet
property=
"subtitleContainer"
destination=
"dvM-AB-hFc"
id=
"5hO-zx-4tG"
/>
<outlet
property=
"subtitleSwitcherButton"
destination=
"273"
id=
"288"
/>
...
...
@@ -112,6 +118,7 @@
</button>
</subviews>
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"0.0"
colorSpace=
"calibratedWhite"
/>
<freeformSimulatedSizeMetrics
key=
"simulatedDestinationMetrics"
/>
</view>
<view
clearsContextBeforeDrawing=
"NO"
contentMode=
"scaleToFill"
id=
"8"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"768"
height=
"1024"
/>
...
...
@@ -185,6 +192,75 @@
</subviews>
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"0.60999999999999999"
colorSpace=
"custom"
customColorSpace=
"calibratedWhite"
/>
</view>
<view
contentMode=
"scaleToFill"
id=
"176"
userLabel=
"Controls panel"
customClass=
"VLCFrostedGlasView"
>
<rect
key=
"frame"
x=
"123"
y=
"849"
width=
"320"
height=
"122"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
/>
<subviews>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Audio delay"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"bQc-dz-mB8"
>
<rect
key=
"frame"
x=
"20"
y=
"6"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-30"
maxValue=
"30"
id=
"ahb-li-nqH"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"20"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"MB1-sB-W8m"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"FYO-Rd-Vjg"
>
<rect
key=
"frame"
x=
"20"
y=
"6"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Subtitles delay"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"NX8-Zc-K6Y"
>
<rect
key=
"frame"
x=
"20"
y=
"43"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-30"
maxValue=
"30"
id=
"juX-HR-PqD"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"57"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"acG-8w-Mgd"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"cTE-tb-Z89"
>
<rect
key=
"frame"
x=
"20"
y=
"43"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Playback speed"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"181"
>
<rect
key=
"frame"
x=
"20"
y=
"81"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-34"
maxValue=
"34"
id=
"180"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"95"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"4Xo-T4-hPJ"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"179"
>
<rect
key=
"frame"
x=
"20"
y=
"81"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
</subviews>
</view>
<view
hidden=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
id=
"123"
userLabel=
"Playing Externally View"
>
<rect
key=
"frame"
x=
"184"
y=
"312"
width=
"400"
height=
"400"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
flexibleMaxY=
"YES"
/>
...
...
@@ -212,33 +288,6 @@
</subviews>
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"0.0"
colorSpace=
"calibratedWhite"
/>
</view>
<view
contentMode=
"scaleToFill"
id=
"176"
userLabel=
"Controls panel"
customClass=
"VLCFrostedGlasView"
>
<rect
key=
"frame"
x=
"224"
y=
"928"
width=
"320"
height=
"46"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
/>
<subviews>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-34"
maxValue=
"34"
id=
"180"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"19"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSpeedSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"192"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Playback speed"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"181"
>
<rect
key=
"frame"
x=
"20"
y=
"5"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"179"
>
<rect
key=
"frame"
x=
"20"
y=
"5"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
</subviews>
</view>
<label
hidden=
"YES"
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Status Label"
textAlignment=
"center"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"205"
customClass=
"VLCStatusLabel"
>
<rect
key=
"frame"
x=
"224"
y=
"799"
width=
"320"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
/>
...
...
@@ -499,6 +548,7 @@
</subviews>
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<simulatedStatusBarMetrics
key=
"simulatedStatusBarMetrics"
statusBarStyle=
"blackOpaque"
/>
<simulatedScreenMetrics
key=
"simulatedDestinationMetrics"
/>
</view>
</objects>
<resources>
...
...
@@ -514,4 +564,9 @@
<image
name=
"subtitleIcon.png"
width=
"19"
height=
"19"
/>
<image
name=
"videoEffectsIcon.png"
width=
"21"
height=
"21"
/>
</resources>
<simulatedMetricsContainer
key=
"defaultSimulatedMetrics"
>
<simulatedStatusBarMetrics
key=
"statusBar"
/>
<simulatedOrientationMetrics
key=
"orientation"
/>
<simulatedScreenMetrics
key=
"destination"
/>
</simulatedMetricsContainer>
</document>
Resources/VLCMovieViewController~iphone.xib
View file @
11a434c6
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.XIB"
version=
"3.0"
toolsVersion=
"
5053
"
systemVersion=
"1
2F45
"
targetRuntime=
"iOS.CocoaTouch"
propertyAccessControl=
"none"
>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.XIB"
version=
"3.0"
toolsVersion=
"
6249
"
systemVersion=
"1
4A379a
"
targetRuntime=
"iOS.CocoaTouch"
propertyAccessControl=
"none"
>
<dependencies>
<deployment
defaultVersion=
"1552"
identifier=
"iOS"
/>
<development
version=
"5
0
00"
identifier=
"xcode"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"
373
3"
/>
<deployment
identifier=
"iOS"
/>
<development
version=
"5
1
00"
identifier=
"xcode"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"
624
3"
/>
</dependencies>
<objects>
<placeholder
placeholderIdentifier=
"IBFilesOwner"
id=
"-1"
userLabel=
"File's Owner"
customClass=
"VLCMovieViewController"
>
...
...
@@ -12,6 +12,9 @@
<outlet
property=
"artistNameLabel"
destination=
"279"
id=
"283"
/>
<outlet
property=
"artworkImageView"
destination=
"yK6-Ph-SVE"
id=
"Cm9-7F-iYZ"
/>
<outlet
property=
"aspectRatioButton"
destination=
"202"
id=
"222"
/>
<outlet
property=
"audioDelayIndicator"
destination=
"SDv-JW-DMi"
id=
"Krq-0k-T6o"
/>
<outlet
property=
"audioDelayLabel"
destination=
"8cb-fw-YeF"
id=
"KWQ-n9-3mr"
/>
<outlet
property=
"audioDelaySlider"
destination=
"oQe-Uu-1HY"
id=
"6Me-OE-Dpl"
/>
<outlet
property=
"audioSwitcherButton"
destination=
"78"
id=
"98"
/>
<outlet
property=
"audioSwitcherButtonLandscape"
destination=
"awR-Dt-S0B"
id=
"SSl-4q-pof"
/>
<outlet
property=
"backButton"
destination=
"85"
id=
"96"
/>
...
...
@@ -37,7 +40,7 @@
<outlet
property=
"playbackSpeedButtonLandscape"
destination=
"WXm-go-jev"
id=
"TbP-eA-CzG"
/>
<outlet
property=
"playbackSpeedIndicator"
destination=
"185"
id=
"197"
/>
<outlet
property=
"playbackSpeedLabel"
destination=
"167"
id=
"198"
/>
<outlet
property=
"playbackSpeedSlider"
destination=
"168"
id=
"
196
"
/>
<outlet
property=
"playbackSpeedSlider"
destination=
"168"
id=
"
M6M-8F-t8T
"
/>
<outlet
property=
"playbackSpeedView"
destination=
"165"
id=
"208"
/>
<outlet
property=
"playingExternallyDescription"
destination=
"109"
id=
"113"
/>
<outlet
property=
"playingExternallyTitle"
destination=
"110"
id=
"114"
/>
...
...
@@ -50,6 +53,9 @@
<outlet
property=
"saturationSlider"
destination=
"135"
id=
"152"
/>
<outlet
property=
"scrubHelpLabel"
destination=
"246"
id=
"249"
/>
<outlet
property=
"scrubIndicatorView"
destination=
"241"
id=
"247"
/>
<outlet
property=
"spuDelayIndicator"
destination=
"IzS-81-KII"
id=
"IXf-sX-Ier"
/>
<outlet
property=
"spuDelayLabel"
destination=
"KeW-Xp-9I6"
id=
"LMS-pz-Ajj"
/>
<outlet
property=
"spuDelaySlider"
destination=
"JRI-0m-C0M"
id=
"f8j-Iq-sH3"
/>
<outlet
property=
"statusLabel"
destination=
"210"
id=
"211"
/>
<outlet
property=
"subtitleContainer"
destination=
"umS-fw-84Z"
id=
"cbT-b6-hSn"
/>
<outlet
property=
"subtitleContainerLandscape"
destination=
"cvq-YB-u9T"
id=
"Qgb-5z-1Ij"
/>
...
...
@@ -118,6 +124,7 @@
</button>
</subviews>
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"0.0"
colorSpace=
"calibratedWhite"
/>
<freeformSimulatedSizeMetrics
key=
"simulatedDestinationMetrics"
/>
</view>
<barButtonItem
systemItem=
"done"
id=
"85"
>
<connections>
...
...
@@ -164,30 +171,72 @@
</accessibility>
</view>
<view
contentMode=
"scaleToFill"
id=
"165"
userLabel=
"Controls panel"
customClass=
"VLCFrostedGlasView"
>
<rect
key=
"frame"
x=
"0.0"
y=
"
395
"
width=
"320"
height=
"
46
"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"
219
"
width=
"320"
height=
"
131
"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
/>
<subviews>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-34"
maxValue=
"34"
id=
"168"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"19"
width=
"284"
height=
"29"
/>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Audio delay"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"8cb-fw-YeF"
>
<rect
key=
"frame"
x=
"20"
y=
"7"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"SDv-JW-DMi"
>
<rect
key=
"frame"
x=
"20"
y=
"7"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-30"
maxValue=
"30"
id=
"oQe-Uu-1HY"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"20"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSpeedSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"195"
/>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"MaZ-VI-xre"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Subtitles delay"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"KeW-Xp-9I6"
>
<rect
key=
"frame"
x=
"20"
y=
"44"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"IzS-81-KII"
>
<rect
key=
"frame"
x=
"20"
y=
"44"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-30"
maxValue=
"30"
id=
"JRI-0m-C0M"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"58"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"NUV-tI-BV8"
/>
</connections>
</slider>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"Playback speed"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"167"
>
<rect
key=
"frame"
x=
"20"
y=
"
5
"
width=
"280"
height=
"21"
/>
<rect
key=
"frame"
x=
"20"
y=
"
83
"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<label
opaque=
"NO"
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"left"
text=
"1.00x"
textAlignment=
"right"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
id=
"185"
>
<rect
key=
"frame"
x=
"20"
y=
"
5
"
width=
"280"
height=
"21"
/>
<rect
key=
"frame"
x=
"20"
y=
"
83
"
width=
"280"
height=
"21"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
white=
"1"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<nil
key=
"highlightedColor"
/>
</label>
<slider
opaque=
"NO"
contentMode=
"scaleToFill"
contentHorizontalAlignment=
"center"
contentVerticalAlignment=
"center"
minValue=
"-34"
maxValue=
"34"
id=
"168"
customClass=
"VLCSlider"
>
<rect
key=
"frame"
x=
"18"
y=
"97"
width=
"284"
height=
"29"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
<connections>
<action
selector=
"playbackSliderAction:"
destination=
"-1"
eventType=
"valueChanged"
id=
"6n6-9i-WXd"
/>
</connections>
</slider>
</subviews>
</view>
<view
contentMode=
"scaleToFill"
id=
"117"
userLabel=
"Controls panel"
customClass=
"VLCFrostedGlasView"
>
...
...
@@ -512,10 +561,6 @@
<color
key=
"backgroundColor"
white=
"0.0"
alpha=
"1"
colorSpace=
"calibratedWhite"
/>
<simulatedScreenMetrics
key=
"simulatedDestinationMetrics"
type=
"retina4"
/>
</view>
<imageView
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
id=
"grE-Qn-u2K"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"240"
height=
"128"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMaxX=
"YES"
flexibleMaxY=
"YES"
/>
</imageView>
<view
tag=
"1"
contentMode=
"scaleToFill"
id=
"e7l-vK-ape"
userLabel=
"Controls panel"
customClass=
"VLCFrostedGlasView"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"480"
height=
"50"
/>
<autoresizingMask
key=
"autoresizingMask"
flexibleMinX=
"YES"
widthSizable=
"YES"
flexibleMaxX=
"YES"
flexibleMinY=
"YES"
/>
...
...
@@ -675,6 +720,7 @@
</button>
</subviews>
<color
key=
"backgroundColor"
red=
"0.1215686275"
green=
"0.1215686275"
blue=
"0.1215686275"
alpha=
"1"
colorSpace=
"calibratedRGB"
/>
<freeformSimulatedSizeMetrics
key=
"simulatedDestinationMetrics"
/>
</view>
</objects>
<resources>
...
...
@@ -690,4 +736,9 @@
<image
name=
"subtitleIcon.png"
width=
"19"
height=
"19"
/>
<image
name=
"videoEffectsIcon.png"
width=
"21"
height=
"21"
/>
</resources>
<simulatedMetricsContainer
key=
"defaultSimulatedMetrics"
>
<simulatedStatusBarMetrics
key=
"statusBar"
/>
<simulatedOrientationMetrics
key=
"orientation"
/>
<simulatedScreenMetrics
key=
"destination"
type=
"retina4"
/>
</simulatedMetricsContainer>
</document>
Resources/en.lproj/Localizable.strings
View file @
11a434c6
B
"CHOOSE_AUDIO_TRACK"="Choose Audio Track";
...
...
Sources/VLCMovieViewController.h
View file @
11a434c6
...
...
@@ -71,6 +71,12 @@
@property
(
nonatomic
,
strong
)
IBOutlet
UISlider
*
playbackSpeedSlider
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
playbackSpeedLabel
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
playbackSpeedIndicator
;
@property
(
nonatomic
,
strong
)
IBOutlet
UISlider
*
audioDelaySlider
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
audioDelayLabel
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
audioDelayIndicator
;
@property
(
nonatomic
,
strong
)
IBOutlet
UISlider
*
spuDelaySlider
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
spuDelayLabel
;
@property
(
nonatomic
,
strong
)
IBOutlet
UILabel
*
spuDelayIndicator
;
@property
(
nonatomic
,
strong
)
IBOutlet
UIButton
*
aspectRatioButton
;
@property
(
nonatomic
,
strong
)
IBOutlet
VLCFrostedGlasView
*
scrubIndicatorView
;
...
...
@@ -106,7 +112,7 @@
-
(
IBAction
)
videoFilterToggle
:(
id
)
sender
;
-
(
IBAction
)
videoFilterSliderAction
:(
id
)
sender
;
-
(
IBAction
)
playbackS
peedS
liderAction
:(
id
)
sender
;
-
(
IBAction
)
playbackSliderAction
:(
id
)
sender
;
-
(
IBAction
)
videoDimensionAction
:(
id
)
sender
;
@end
Sources/VLCMovieViewController.m
View file @
11a434c6
...
...
@@ -162,6 +162,12 @@
_playbackSpeedLabel
.
text
=
NSLocalizedString
(
@"PLAYBACK_SPEED"
,
nil
);
_playbackSpeedSlider
.
accessibilityLabel
=
_playbackSpeedLabel
.
text
;
_playbackSpeedSlider
.
isAccessibilityElement
=
YES
;
_audioDelayLabel
.
text
=
NSLocalizedString
(
@"AUDIO_DELAY"
,
nil
);
_audioDelaySlider
.
accessibilityLabel
=
_audioDelayLabel
.
text
;
_audioDelaySlider
.
isAccessibilityElement
=
YES
;
_spuDelayLabel
.
text
=
NSLocalizedString
(
@"SPU_DELAY"
,
nil
);
_spuDelaySlider
.
accessibilityLabel
=
_spuDelayLabel
.
text
;
_spuDelaySlider
.
isAccessibilityElement
=
YES
;
_positionSlider
.
accessibilityLabel
=
NSLocalizedString
(
@"PLAYBACK_POSITION"
,
nil
);
_positionSlider
.
isAccessibilityElement
=
YES
;
...
...
@@ -591,6 +597,12 @@
self
.
playbackSpeedSlider
.
value
=
[
self
_playbackSpeed
];
[
self
_updatePlaybackSpeedIndicator
];
self
.
audioDelaySlider
.
value
=
_mediaPlayer
.
currentAudioPlaybackDelay
/
1000000
;
self
.
audioDelayIndicator
.
text
=
[
NSString
stringWithFormat
:
@"%1.00f s"
,
self
.
audioDelaySlider
.
value
];
self
.
spuDelaySlider
.
value
=
_mediaPlayer
.
currentVideoSubTitleDelay
/
1000000
;
self
.
spuDelayIndicator
.
text
=
[
NSString
stringWithFormat
:
@"%1.00f s"
,
self
.
spuDelaySlider
.
value
];
_currentAspectRatioMask
=
0
;
_mediaPlayer
.
videoAspectRatio
=
NULL
;
...
...
@@ -1294,14 +1306,23 @@
}
#pragma mark - playback view
-
(
IBAction
)
playbackSpeedSliderAction
:(
UISlider
*
)
sender
{
double
speed
=
pow
(
2
,
sender
.
value
/
17
.);
float
rate
=
INPUT_RATE_DEFAULT
/
speed
;
if
(
_currentPlaybackRate
!=
rate
)
[
_mediaPlayer
setRate
:
INPUT_RATE_DEFAULT
/
rate
];
_currentPlaybackRate
=
rate
;
[
self
_updatePlaybackSpeedIndicator
];
-
(
IBAction
)
playbackSliderAction
:(
UISlider
*
)
sender
{
if
(
sender
==
_playbackSpeedSlider
)
{
double
speed
=
pow
(
2
,
sender
.
value
/
17
.);
float
rate
=
INPUT_RATE_DEFAULT
/
speed
;
if
(
_currentPlaybackRate
!=
rate
)
[
_mediaPlayer
setRate
:
INPUT_RATE_DEFAULT
/
rate
];
_currentPlaybackRate
=
rate
;
[
self
_updatePlaybackSpeedIndicator
];
}
else
if
(
sender
==
_audioDelaySlider
)
{
_mediaPlayer
.
currentAudioPlaybackDelay
=
_audioDelaySlider
.
value
*
1000000
;
_audioDelayIndicator
.
text
=
[
NSString
stringWithFormat
:
@"%1.2f s"
,
_audioDelaySlider
.
value
];
}
else
if
(
sender
==
_spuDelaySlider
)
{
_mediaPlayer
.
currentVideoSubTitleDelay
=
_spuDelaySlider
.
value
*
1000000
;
_spuDelayIndicator
.
text
=
[
NSString
stringWithFormat
:
@"%1.00f s"
,
_spuDelaySlider
.
value
];
}
[
self
_resetIdleTimer
];
}
...
...
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