[vlc-devel] [PATCH 1/2] macosx:Introduce Icecast streaming service

David Fuhrmann david.fuhrmann at gmail.com
Sat May 12 21:46:35 CEST 2018


HI Vibhoothi,

You patch looks quite good already, still I have some remarks inline.

> Am 10.05.2018 um 22:04 schrieb vibhoothiiaanand at gmail.com:
> 
> From: vibhoothiiaanand <vibhoothiiaanand at gmail.com>

The Author line should contain the „Firstname Lastname“. could you please correct that?

> 
> Introducing Icecast as a new streaming option for all macOS users, This version
> has seperate entries for username and passwords while other version doesn't have
> that which helps to improve UX.
> In the ,,Convert & Save" panel there are three new options
> 	- Mount Point
> 	- Username
> 	- Password
> fixes  #17915
> ---
> modules/gui/macosx/UI/ConvertAndSave.xib           | 232 +++++++++++++--------
> .../gui/macosx/VLCConvertAndSaveWindowController.h |   6 +
> .../gui/macosx/VLCConvertAndSaveWindowController.m |  25 ++-
> 3 files changed, 175 insertions(+), 88 deletions(-)
> 
> diff --git a/modules/gui/macosx/UI/ConvertAndSave.xib b/modules/gui/macosx/UI/ConvertAndSave.xib
> index 8a0578362d..491e45c9c9 100644
> --- a/modules/gui/macosx/UI/ConvertAndSave.xib
> +++ b/modules/gui/macosx/UI/ConvertAndSave.xib
> @@ -1,9 +1,10 @@
> <?xml version="1.0" encoding="UTF-8"?>
> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10117" systemVersion="16G29" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14109" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
>     <dependencies>
> -        <development version="7000" identifier="xcode"/>
> -        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10117"/>
> +        <deployment identifier="macosx"/>
> +        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14109"/>
>         <capability name="box content view" minToolsVersion="7.0"/>
> +        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
>     </dependencies>
>     <objects>
>         <customObject id="-2" userLabel="File's Owner" customClass="VLCConvertAndSaveWindowController">
> @@ -63,6 +64,8 @@
>                 <outlet property="fileDestinationFileNameStub" destination="49" id="559"/>
>                 <outlet property="fileDestinationIcon" destination="48" id="556"/>
>                 <outlet property="fileDestinationView" destination="387" id="555"/>
> +                <outlet property="mountPointField" destination="dMz-bA-LNV" id="Pwg-bv-Fle"/>
> +                <outlet property="mountPointLabel" destination="dMz-bA-LNV" id="4EW-33-mSL"/>
>                 <outlet property="okButton" destination="21" id="551"/>
>                 <outlet property="profileLabel" destination="11" id="544"/>
>                 <outlet property="profilePopup" destination="13" id="545"/>
> @@ -76,8 +79,14 @@
>                 <outlet property="streamDestinationLabel" destination="356" id="609"/>
>                 <outlet property="streamDestinationURLLabel" destination="300" id="561"/>
>                 <outlet property="streamDestinationView" destination="388" id="560"/>
> +                <outlet property="streamLoginPassField" destination="umM-an-G08" id="Jp6-hy-3fM"/>
> +                <outlet property="streamLoginPassLabel" destination="umM-an-G08" id="b24-MF-N6M"/>
> +                <outlet property="streamMountPointField" destination="dMz-bA-LNV" id="dA0-WS-4bR"/>
> +                <outlet property="streamMountPointLabel" destination="QJQ-Pq-rw0" id="gbO-Th-jDn"/>
>                 <outlet property="streamOkButton" destination="360" id="621"/>
>                 <outlet property="streamPanel" destination="308" id="608"/>
> +                <outlet property="streamPasswordField" destination="PoR-21-dj4" id="wOH-yD-xQF"/>
> +                <outlet property="streamPasswordLabel" destination="rhq-qR-z3e" id="ztk-bx-MXh"/>
>                 <outlet property="streamPortField" destination="312" id="626"/>
>                 <outlet property="streamPortLabel" destination="316" id="625"/>
>                 <outlet property="streamSAPCheckbox" destination="345" id="615"/>
> @@ -90,6 +99,8 @@
>                 <outlet property="streamTTLStepper" destination="319" id="624"/>
>                 <outlet property="streamTypeLabel" destination="310" id="610"/>
>                 <outlet property="streamTypePopup" destination="315" id="612"/>
> +                <outlet property="streamUsernameField" destination="2Vk-or-GKu" id="PZh-4t-0jm"/>
> +                <outlet property="streamUsernameLabel" destination="umM-an-G08" id="MFm-gf-f2w"/>
>                 <outlet property="window" destination="1" id="540"/>
>             </connections>
>         </customObject>
> @@ -99,7 +110,7 @@
>             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
>             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
>             <rect key="contentRect" x="196" y="20" width="663" height="490"/>
> -            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="778"/>
> +            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="800"/>
>             <value key="minSize" type="size" width="663" height="490"/>
>             <value key="maxSize" type="size" width="663" height="490"/>
>             <view key="contentView" id="2">
> @@ -159,8 +170,6 @@
>                             <constraint firstAttribute="width" constant="623" id="1e9-iK-lfq"/>
>                             <constraint firstAttribute="height" constant="211" id="S51-zL-3hZ"/>
>                         </constraints>
> -                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                     </box>
>                     <box autoresizesSubviews="NO" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="10">
>                         <rect key="frame" x="17" y="161" width="629" height="92"/>
> @@ -232,8 +241,6 @@
>                             <constraint firstAttribute="width" constant="623" id="pcx-Hn-9BS"/>
>                             <constraint firstAttribute="height" constant="86" id="tky-N9-PlT"/>
>                         </constraints>
> -                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                     </box>
>                     <box autoresizesSubviews="NO" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="32">
>                         <rect key="frame" x="17" y="58" width="629" height="100"/>
> @@ -304,8 +311,6 @@
>                             <constraint firstAttribute="height" constant="94" id="136-J5-OdM"/>
>                             <constraint firstAttribute="width" constant="623" id="iQT-Dj-N9b"/>
>                         </constraints>
> -                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                     </box>
>                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="21">
>                         <rect key="frame" x="579" y="13" width="70" height="32"/>
> @@ -367,7 +372,7 @@ DQ
>             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
>             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
>             <rect key="contentRect" x="340" y="255" width="558" height="382"/>
> -            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="778"/>
> +            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="800"/>
>             <view key="contentView" id="132">
>                 <rect key="frame" x="0.0" y="0.0" width="558" height="382"/>
>                 <autoresizingMask key="autoresizingMask"/>
> @@ -605,7 +610,7 @@ DQ
>                                                             <binding destination="-2" name="value" keyPath="self.vidFramerate" id="666"/>
>                                                         </connections>
>                                                     </stepper>
> -                                                    <box autoresizesSubviews="NO" title="Resolution" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="206">
> +                                                    <box autoresizesSubviews="NO" borderType="line" title="Resolution" translatesAutoresizingMaskIntoConstraints="NO" id="206">
>                                                         <rect key="frame" x="52" y="10" width="394" height="133"/>
>                                                         <view key="contentView" id="4gP-3n-rkP">
>                                                             <rect key="frame" x="1" y="1" width="392" height="117"/>
> @@ -716,8 +721,6 @@ DQ
>                                                             <constraint firstAttribute="width" constant="388" id="6iM-rk-euR"/>
>                                                             <constraint firstAttribute="height" constant="129" id="L8c-wr-hjr"/>
>                                                         </constraints>
> -                                                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                                                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                                                     </box>
>                                                 </subviews>
>                                                 <constraints>
> @@ -746,8 +749,6 @@ DQ
>                                                 <constraint firstAttribute="height" constant="244" id="dnU-6L-fqV"/>
>                                                 <constraint firstAttribute="width" constant="494" id="oMu-fT-rAi"/>
>                                             </constraints>
> -                                            <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                                            <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                                         </box>
>                                     </subviews>
>                                     <constraints>
> @@ -776,7 +777,7 @@ DQ
>                                             </connections>
>                                         </button>
>                                         <button translatesAutoresizingMaskIntoConstraints="NO" id="208">
> -                                            <rect key="frame" x="15" y="248" width="153" height="18"/>
> +                                            <rect key="frame" x="15" y="248" width="152" height="18"/>
>                                             <buttonCell key="cell" type="check" title="Keep original audio track" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" state="on" inset="2" id="209">
>                                                 <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
>                                                 <font key="font" metaFont="smallSystem"/>
> @@ -940,8 +941,6 @@ DQ
>                                                 <constraint firstAttribute="height" constant="140" id="lh4-g7-y9H"/>
>                                                 <constraint firstAttribute="width" constant="494" id="nFc-2s-PeV"/>
>                                             </constraints>
> -                                            <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                                            <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                                         </box>
>                                     </subviews>
>                                     <constraints>
> @@ -1060,20 +1059,20 @@ Gw
>         <window title="Stream Panel" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="308" userLabel="Stream">
>             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
>             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
> -            <rect key="contentRect" x="131" y="60" width="532" height="368"/>
> -            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="778"/>
> +            <rect key="contentRect" x="131" y="60" width="607" height="451"/>
> +            <rect key="screenRect" x="0.0" y="0.0" width="1280" height="800"/>
>             <view key="contentView" id="309">
> -                <rect key="frame" x="0.0" y="0.0" width="532" height="368"/>
> +                <rect key="frame" x="0.0" y="0.0" width="607" height="451"/>
>                 <autoresizingMask key="autoresizingMask"/>
>                 <subviews>
> -                    <box autoresizesSubviews="NO" title="Stream Destination" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="336">
> -                        <rect key="frame" x="17" y="227" width="498" height="122"/>
> +                    <box autoresizesSubviews="NO" borderType="line" title="Stream Destination" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="336">
> +                        <rect key="frame" x="55" y="227" width="498" height="205"/>
>                         <view key="contentView" id="gfn-LW-3Zl">
> -                            <rect key="frame" x="1" y="1" width="496" height="120"/>
> +                            <rect key="frame" x="1" y="1" width="496" height="203"/>
>                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
>                             <subviews>
>                                 <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="312">
> -                                    <rect key="frame" x="407" y="13" width="50" height="22"/>
> +                                    <rect key="frame" x="405" y="90" width="50" height="22"/>
>                                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" title="1234" drawsBackground="YES" id="332">
>                                         <font key="font" metaFont="system"/>
>                                         <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
> @@ -1084,7 +1083,7 @@ Gw
>                                     </connections>
>                                 </textField>
>                                 <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="317">
> -                                    <rect key="frame" x="407" y="46" width="50" height="22"/>
> +                                    <rect key="frame" x="405" y="123" width="50" height="22"/>
>                                     <constraints>
>                                         <constraint firstAttribute="width" constant="50" id="Ueo-G3-TfK"/>
>                                     </constraints>
> @@ -1094,20 +1093,12 @@ Gw
>                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
>                                     </textFieldCell>
>                                 </textField>
> -                                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="316">
> -                                    <rect key="frame" x="372" y="15" width="30" height="17"/>
> -                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Port" id="323">
> -                                        <font key="font" metaFont="system"/>
> -                                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
> -                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
> -                                    </textFieldCell>
> -                                </textField>
>                                 <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="314">
> -                                    <rect key="frame" x="462" y="10" width="19" height="27"/>
> +                                    <rect key="frame" x="460" y="87" width="19" height="27"/>
>                                     <stepperCell key="cell" continuous="YES" alignment="left" tag="1" maxValue="65535" doubleValue="1234" valueWraps="YES" id="330"/>
>                                 </stepper>
>                                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="313">
> -                                    <rect key="frame" x="15" y="15" width="54" height="17"/>
> +                                    <rect key="frame" x="15" y="93" width="54" height="17"/>
>                                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Address" id="331">
>                                         <font key="font" metaFont="system"/>
>                                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
> @@ -1115,7 +1106,7 @@ Gw
>                                     </textFieldCell>
>                                 </textField>
>                                 <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="315">
> -                                    <rect key="frame" x="92" y="43" width="78" height="26"/>
> +                                    <rect key="frame" x="114" y="121" width="81" height="26"/>
>                                     <popUpButtonCell key="cell" type="push" title="HTTP" bezelStyle="rounded" alignment="left" lineBreakMode="clipping" state="on" borderStyle="borderAndBezel" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" selectedItem="329" id="324">
>                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
>                                         <font key="font" metaFont="menu"/>
> @@ -1125,6 +1116,7 @@ Gw
>                                                 <menuItem title="MMSH" id="326"/>
>                                                 <menuItem title="RTP" id="328"/>
>                                                 <menuItem title="UDP" id="327"/>
> +                                                <menuItem title="Icecast" id="6RK-6i-sV4"/>
>                                             </items>
>                                         </menu>
>                                     </popUpButtonCell>
> @@ -1133,7 +1125,7 @@ Gw
>                                     </connections>
>                                 </popUpButton>
>                                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="310">
> -                                    <rect key="frame" x="15" y="48" width="34" height="17"/>
> +                                    <rect key="frame" x="15" y="126" width="34" height="17"/>
>                                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Type" id="334">
>                                         <font key="font" metaFont="system"/>
>                                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
> @@ -1141,9 +1133,9 @@ Gw
>                                     </textFieldCell>
>                                 </textField>
>                                 <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="311">
> -                                    <rect key="frame" x="94" y="13" width="205" height="22"/>
> +                                    <rect key="frame" x="116" y="91" width="219" height="22"/>
>                                     <constraints>
> -                                        <constraint firstAttribute="width" constant="205" id="bzu-Kr-nS8"/>
> +                                        <constraint firstAttribute="width" constant="219" id="bzu-Kr-nS8"/>
>                                     </constraints>
>                                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="333">
>                                         <font key="font" metaFont="system"/>
> @@ -1152,7 +1144,7 @@ Gw
>                                     </textFieldCell>
>                                 </textField>
>                                 <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="318">
> -                                    <rect key="frame" x="374" y="48" width="28" height="17"/>
> +                                    <rect key="frame" x="372" y="127" width="28" height="17"/>
>                                     <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="TTL" id="321">
>                                         <font key="font" metaFont="system"/>
>                                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
> @@ -1160,39 +1152,116 @@ Gw
>                                     </textFieldCell>
>                                 </textField>
>                                 <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="319">
> -                                    <rect key="frame" x="462" y="43" width="19" height="27"/>
> +                                    <rect key="frame" x="460" y="120" width="19" height="27"/>
>                                     <stepperCell key="cell" continuous="YES" alignment="left" tag="1" minValue="1" maxValue="65535" doubleValue="1" valueWraps="YES" id="320"/>
>                                 </stepper>
>                                 <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="356">
> -                                    <rect key="frame" x="15" y="85" width="159" height="22"/>
> +                                    <rect key="frame" x="15" y="161" width="159" height="22"/>
>                                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="Stream Destination" id="357">
>                                         <font key="font" metaFont="system" size="18"/>
>                                         <color key="textColor" name="headerColor" catalog="System" colorSpace="catalog"/>
>                                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
>                                     </textFieldCell>
>                                 </textField>
> +                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QJQ-Pq-rw0">
> +                                    <rect key="frame" x="15" y="65" width="78" height="17"/>
> +                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Mount Point" id="pLJ-la-ocQ">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="umM-an-G08">
> +                                    <rect key="frame" x="15" y="38" width="66" height="17"/>
> +                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Username" id="xj8-Q2-G6S">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dMz-bA-LNV">
> +                                    <rect key="frame" x="116" y="62" width="219" height="22"/>
> +                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="LDl-c9-9bZ">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rhq-qR-z3e">
> +                                    <rect key="frame" x="15" y="12" width="63" height="17"/>
> +                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Password" id="pqt-sc-Mbg">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2Vk-or-GKu">
> +                                    <rect key="frame" x="116" y="35" width="163" height="22"/>
> +                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Rvv-yZ-gnh">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="316">
> +                                    <rect key="frame" x="370" y="95" width="30" height="17"/>
> +                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Port" id="323">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
> +                                    </textFieldCell>
> +                                </textField>
> +                                <secureTextField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="PoR-21-dj4">
> +                                    <rect key="frame" x="116" y="7" width="163" height="22"/>
> +                                    <constraints>
> +                                        <constraint firstAttribute="width" constant="163" id="VPk-72-g8m"/>
> +                                    </constraints>
> +                                    <secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="q70-FT-7NN">
> +                                        <font key="font" metaFont="system"/>
> +                                        <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
> +                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
> +                                        <allowedInputSourceLocales>
> +                                            <string>NSAllRomanInputSourcesLocaleIdentifier</string>
> +                                        </allowedInputSourceLocales>
> +                                    </secureTextFieldCell>
> +                                </secureTextField>
>                             </subviews>
>                             <constraints>
>                                 <constraint firstItem="319" firstAttribute="leading" secondItem="317" secondAttribute="trailing" constant="8" id="1J1-fz-uqL"/>
> -                                <constraint firstAttribute="bottom" secondItem="311" secondAttribute="bottom" constant="13" id="9db-uY-dLu"/>
> +                                <constraint firstItem="PoR-21-dj4" firstAttribute="leading" secondItem="rhq-qR-z3e" secondAttribute="trailing" constant="40" id="4PI-bN-txD"/>
> +                                <constraint firstItem="QJQ-Pq-rw0" firstAttribute="leading" secondItem="rhq-qR-z3e" secondAttribute="leading" id="6Sa-uO-QTU"/>
> +                                <constraint firstItem="dMz-bA-LNV" firstAttribute="trailing" secondItem="311" secondAttribute="trailing" id="8p2-R2-s4p"/>
> +                                <constraint firstAttribute="bottom" secondItem="311" secondAttribute="bottom" constant="91" id="9db-uY-dLu"/>
>                                 <constraint firstItem="317" firstAttribute="leading" secondItem="312" secondAttribute="leading" id="B24-Xh-2YT"/>
> +                                <constraint firstItem="umM-an-G08" firstAttribute="top" secondItem="QJQ-Pq-rw0" secondAttribute="bottom" constant="10" id="C3i-b9-Wrk"/>
> +                                <constraint firstItem="dMz-bA-LNV" firstAttribute="leading" secondItem="QJQ-Pq-rw0" secondAttribute="trailing" constant="25" id="DHd-wV-iQ6"/>
>                                 <constraint firstItem="311" firstAttribute="top" secondItem="315" secondAttribute="bottom" constant="11" id="EEV-RU-fKU"/>
> -                                <constraint firstItem="356" firstAttribute="top" secondItem="gfn-LW-3Zl" secondAttribute="top" constant="13" id="EUx-Vr-JKJ"/>
> +                                <constraint firstItem="356" firstAttribute="top" secondItem="gfn-LW-3Zl" secondAttribute="top" constant="20" id="EUx-Vr-JKJ"/>
>                                 <constraint firstItem="313" firstAttribute="leading" secondItem="gfn-LW-3Zl" secondAttribute="leading" constant="17" id="G13-rA-ECe"/>
> -                                <constraint firstItem="312" firstAttribute="centerY" secondItem="311" secondAttribute="centerY" id="HHB-Fo-vCn"/>
> -                                <constraint firstAttribute="trailing" secondItem="314" secondAttribute="trailing" constant="18" id="I11-8g-N92"/>
> +                                <constraint firstItem="312" firstAttribute="centerY" secondItem="311" secondAttribute="centerY" constant="1" id="HHB-Fo-vCn"/>
> +                                <constraint firstAttribute="trailing" secondItem="314" secondAttribute="trailing" constant="20" id="I11-8g-N92"/>
> +                                <constraint firstItem="PoR-21-dj4" firstAttribute="trailing" secondItem="2Vk-or-GKu" secondAttribute="trailing" id="Ilg-oR-HvA"/>
>                                 <constraint firstItem="310" firstAttribute="centerY" secondItem="315" secondAttribute="centerY" id="J0J-Yp-kdf"/>
> -                                <constraint firstItem="312" firstAttribute="centerY" secondItem="316" secondAttribute="centerY" id="Klv-C0-qsH"/>
> +                                <constraint firstItem="312" firstAttribute="centerY" secondItem="316" secondAttribute="centerY" constant="2.5" id="Klv-C0-qsH"/>
>                                 <constraint firstItem="310" firstAttribute="leading" secondItem="313" secondAttribute="leading" id="LOo-Sy-AK0"/>
> -                                <constraint firstItem="311" firstAttribute="leading" secondItem="313" secondAttribute="trailing" constant="27" id="PSk-Ee-ahr"/>
> +                                <constraint firstItem="311" firstAttribute="leading" secondItem="313" secondAttribute="trailing" constant="49" id="PSk-Ee-ahr"/>
> +                                <constraint firstItem="QJQ-Pq-rw0" firstAttribute="baseline" secondItem="dMz-bA-LNV" secondAttribute="baseline" id="Qps-v5-rA6"/>
> +                                <constraint firstItem="rhq-qR-z3e" firstAttribute="top" secondItem="umM-an-G08" secondAttribute="bottom" constant="9" id="RIj-mi-qk2"/>
>                                 <constraint firstItem="313" firstAttribute="centerY" secondItem="311" secondAttribute="centerY" id="UUs-0L-ljX"/>
>                                 <constraint firstItem="312" firstAttribute="top" secondItem="317" secondAttribute="bottom" constant="11" id="Vy2-og-cY7"/>
>                                 <constraint firstItem="317" firstAttribute="width" secondItem="312" secondAttribute="width" id="Wkm-g7-FEr"/>
> +                                <constraint firstItem="rhq-qR-z3e" firstAttribute="top" secondItem="PoR-21-dj4" secondAttribute="top" id="Xdj-5f-f5F"/>
>                                 <constraint firstItem="312" firstAttribute="centerY" secondItem="314" secondAttribute="centerY" id="Zro-Ez-WqJ"/>
> +                                <constraint firstAttribute="bottom" secondItem="dMz-bA-LNV" secondAttribute="bottom" constant="62" id="bJb-ik-sVb"/>
> +                                <constraint firstItem="PoR-21-dj4" firstAttribute="leading" secondItem="2Vk-or-GKu" secondAttribute="leading" id="f3V-aG-sOv"/>
>                                 <constraint firstItem="317" firstAttribute="centerY" secondItem="319" secondAttribute="centerY" id="hlN-QB-SyW"/>
> +                                <constraint firstItem="QJQ-Pq-rw0" firstAttribute="leading" secondItem="313" secondAttribute="leading" id="i0E-zt-M9U"/>
>                                 <constraint firstItem="315" firstAttribute="leading" secondItem="311" secondAttribute="leading" id="ivq-3S-Xod"/>
> -                                <constraint firstItem="317" firstAttribute="centerY" secondItem="318" secondAttribute="centerY" id="o0w-qr-6dp"/>
> +                                <constraint firstItem="PoR-21-dj4" firstAttribute="top" secondItem="2Vk-or-GKu" secondAttribute="bottom" constant="6" id="mU1-Yc-vdc"/>
> +                                <constraint firstItem="317" firstAttribute="centerY" secondItem="318" secondAttribute="centerY" constant="1.5" id="o0w-qr-6dp"/>
>                                 <constraint firstItem="312" firstAttribute="leading" secondItem="316" secondAttribute="trailing" constant="7" id="qH3-sx-ytI"/>
> +                                <constraint firstItem="QJQ-Pq-rw0" firstAttribute="leading" secondItem="umM-an-G08" secondAttribute="leading" id="r6v-lz-Ddk"/>
> +                                <constraint firstItem="dMz-bA-LNV" firstAttribute="top" secondItem="311" secondAttribute="bottom" constant="7" id="rBa-S2-jpR"/>
>                                 <constraint firstItem="314" firstAttribute="leading" secondItem="312" secondAttribute="trailing" constant="8" id="wJP-rr-NJH"/>
>                                 <constraint firstItem="356" firstAttribute="leading" secondItem="gfn-LW-3Zl" secondAttribute="leading" constant="17" id="y7X-gF-I3k"/>
>                                 <constraint firstItem="317" firstAttribute="leading" secondItem="318" secondAttribute="trailing" constant="7" id="ycC-3r-XTe"/>
> @@ -1200,13 +1269,37 @@ Gw
>                         </view>
>                         <constraints>
>                             <constraint firstAttribute="width" constant="492" id="GA5-xc-ed7"/>
> -                            <constraint firstAttribute="height" constant="116" id="Hhe-6F-sqP"/>
> +                            <constraint firstAttribute="height" constant="199" id="Hhe-6F-sqP“/>

I checked the contraints in interface builder, and here are some remarks / things you should change:

- Each element should have a constraint to the visually next left / top / right / bottom element. The first and the last element should connect to the top and bottom of the surrounding container. Please recheck that, e.g. mount point text field should not have a constraint to the bottom of the container (same for address text field), only the password field should
- For your new text fields, they should be all leading and trailing aligned with the text fields already existing. Remove the explicit width constraints for the text fields. This would also make sure all text fields have the same width.
- The labels on the left side can grow due to translation. Therefore, you should not do any strict horizontal space constraint between label and text field. Instead, use a greater or equal constraint to ensure a minimum spacing (e.g. 12 px).
- For vertical alignment of the text fields, use a center y constraint between label and text field. Currently, you added a weird mix here, just do the same as done for the address label + text field already. After you added those, you can remove vertical spacing constraints between the text fields. It is enough if you have vertical spacing between your labels.

>                         </constraints>
> -                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                     </box>
> +                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="360">
> +                        <rect key="frame" x="518" y="12" width="75" height="32"/>
> +                        <buttonCell key="cell" type="push" title="Apply" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="361">
> +                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
> +                            <font key="font" metaFont="system"/>
> +                            <string key="keyEquivalent" base64-UTF8="YES">
> +DQ
> +</string>
> +                        </buttonCell>
> +                        <connections>
> +                            <action selector="closeStreamPanel:" target="-2" id="643"/>
> +                        </connections>
> +                    </button>
> +                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="532">
> +                        <rect key="frame" x="436" y="12" width="82" height="32"/>
> +                        <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="533">
> +                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
> +                            <font key="font" metaFont="system"/>
> +                            <string key="keyEquivalent" base64-UTF8="YES">
> +Gw
> +</string>
> +                        </buttonCell>
> +                        <connections>
> +                            <action selector="closeStreamPanel:" target="-2" id="642"/>
> +                        </connections>
> +                    </button>
>                     <box title="Stream Announcing" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="337">
> -                        <rect key="frame" x="17" y="56" width="498" height="169"/>
> +                        <rect key="frame" x="54" y="56" width="498" height="169"/>
>                         <view key="contentView" id="N8c-ne-PD9">
>                             <rect key="frame" x="2" y="2" width="494" height="165"/>
>                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
> @@ -1349,35 +1442,7 @@ Gw
>                             <constraint firstAttribute="width" constant="492" id="EiF-2M-nAp"/>
>                             <constraint firstAttribute="height" constant="163" id="rnv-0L-LCw"/>
>                         </constraints>
> -                        <color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
> -                        <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
>                     </box>
> -                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="360">
> -                        <rect key="frame" x="443" y="12" width="75" height="32"/>
> -                        <buttonCell key="cell" type="push" title="Apply" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="361">
> -                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
> -                            <font key="font" metaFont="system"/>
> -                            <string key="keyEquivalent" base64-UTF8="YES">
> -DQ
> -</string>
> -                        </buttonCell>
> -                        <connections>
> -                            <action selector="closeStreamPanel:" target="-2" id="643"/>
> -                        </connections>
> -                    </button>
> -                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="532">
> -                        <rect key="frame" x="361" y="12" width="82" height="32"/>
> -                        <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="533">
> -                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
> -                            <font key="font" metaFont="system"/>
> -                            <string key="keyEquivalent" base64-UTF8="YES">
> -Gw
> -</string>
> -                        </buttonCell>
> -                        <connections>
> -                            <action selector="closeStreamPanel:" target="-2" id="642"/>
> -                        </connections>
> -                    </button>
>                 </subviews>
>                 <constraints>
>                     <constraint firstItem="336" firstAttribute="top" secondItem="309" secondAttribute="top" constant="21" id="56g-ml-XeM"/>
> @@ -1393,6 +1458,7 @@ Gw
>             <connections>
>                 <outlet property="initialFirstResponder" destination="311" id="386"/>
>             </connections>
> +            <point key="canvasLocation" x="0.5" y="42.5"/>
>         </window>
>         <customView id="387" userLabel="File Dest">
>             <rect key="frame" x="0.0" y="0.0" width="531" height="72"/>
> diff --git a/modules/gui/macosx/VLCConvertAndSaveWindowController.h b/modules/gui/macosx/VLCConvertAndSaveWindowController.h
> index 930b086946..26cf860250 100644
> --- a/modules/gui/macosx/VLCConvertAndSaveWindowController.h
> +++ b/modules/gui/macosx/VLCConvertAndSaveWindowController.h
> @@ -123,6 +123,12 @@
> @property (weak) IBOutlet NSTextField *streamChannelLabel;
> @property (weak) IBOutlet NSTextField *streamChannelField;
> @property (weak) IBOutlet NSMatrix *streamSDPMatrix;
> + at property (weak) IBOutlet NSTextField *streamMountPointLabel;
> + at property (weak) IBOutlet NSTextField *streamMountPointField;
> + at property (weak) IBOutlet NSTextField *streamUsernameLabel;
> + at property (weak) IBOutlet NSTextField *streamUsernameField;
> + at property (weak) IBOutlet NSTextField *streamPasswordLabel;
> + at property (weak) IBOutlet NSTextField *streamPasswordField;
> @property (weak) IBOutlet NSButton *streamSDPFileBrowseButton;
> @property (weak) IBOutlet NSTextField *streamSDPLabel;
> @property (weak) IBOutlet NSTextField *streamSDPField;
> diff --git a/modules/gui/macosx/VLCConvertAndSaveWindowController.m b/modules/gui/macosx/VLCConvertAndSaveWindowController.m
> index b0efac7584..28cf3c1bbb 100644
> --- a/modules/gui/macosx/VLCConvertAndSaveWindowController.m
> +++ b/modules/gui/macosx/VLCConvertAndSaveWindowController.m
> @@ -519,7 +519,7 @@
>         return;
> 
>     /* provide a summary of the user selections */
> -    NSMutableString * labelContent = [[NSMutableString alloc] initWithFormat:_NS("%@ stream to %@:%@"), [_streamTypePopup titleOfSelectedItem], [_streamAddressField stringValue], [_streamPortField stringValue]];
> +    NSMutableString * labelContent = [[NSMutableString alloc] initWithFormat:_NS("%@ stream to %@:%@"), [_streamTypePopup titleOfSelectedItem], [_streamAddressField stringValue] ];

This change is probably wrong, because you removed the last value (from _streamPortField).

> 
>     if ([_streamTypePopup indexOfSelectedItem] > 1)
>         [labelContent appendFormat:@" (\"%@\")", [_streamChannelField stringValue]];
> @@ -556,7 +556,10 @@
> - (IBAction)streamTypeToggle:(id)sender
> {
>     NSUInteger index = [_streamTypePopup indexOfSelectedItem];
> -    if (index <= 1) { // HTTP, MMSH
> +    [_streamMountPointField setEnabled:NO];
> +    [_streamUsernameField setEnabled:NO];
> +    [_streamPasswordField setEnabled:NO];

If I just open the stream panel, without touching anything, those fields are enabled by default. Indeed, they should be disabled, as http streaming method is on by default. You can fix that by setting the enabled state to off in interface builder, directly for the text boxes.

> +    if (index <= 1) { // HTTP , MMSH
>         [_streamTTLField setEnabled:NO];
>         [_streamTTLStepper setEnabled:NO];
>         [_streamSAPCheckbox setEnabled:NO];
> @@ -566,11 +569,20 @@
>         [_streamTTLStepper setEnabled:YES];
>         [_streamSAPCheckbox setEnabled:YES];
>         [_streamSDPMatrix setEnabled:YES];
> -    } else { // UDP
> +    }else if(index == 3) { // UDP
>         [_streamTTLField setEnabled:YES];
>         [_streamTTLStepper setEnabled:YES];
>         [_streamSAPCheckbox setEnabled:YES];
>         [_streamSDPMatrix setEnabled:NO];
> +    }else { //Icecast
> +        [_streamTTLField setEnabled:NO];
> +        [_streamTTLStepper setEnabled:NO];
> +        [_streamSAPCheckbox setEnabled:NO];
> +        [_streamSDPMatrix setEnabled:NO];
> +        [_streamMountPointField setEnabled:YES];
> +        [_streamUsernameField setEnabled:YES];
> +        [_streamPasswordField setEnabled:YES];
> +       
>     }
>     [self streamAnnouncementToggle:sender];
> }
> @@ -930,7 +942,7 @@
>         if ([[self.currentProfile objectAtIndex:15] intValue])
>             [composedOptions appendFormat:@",soverlay"];
>     }
> -
> +    

Please do not add trailing whitespaces in your patches. You should setup Xcode to remove trailing whitespaces automatically during saving. (See prefs —> Text editing).

>     if (!b_streaming) {
>         /* file transcoding */
>         // add muxer
> @@ -942,11 +954,14 @@
>                                                                            withString:@"\\\""];
>         [composedOptions appendFormat:@",access=file{no-overwrite},dst=\"%@\"}", _outputDestination];
>     } else {
> +        [composedOptions appendString:@"}"];
>         /* streaming */
>         if ([[[_streamTypePopup selectedItem] title] isEqualToString:@"RTP"])
>             [composedOptions appendFormat:@":rtp{mux=ts,dst=%@,port=%@", _outputDestination, [_streamPortField stringValue]];
>         else if ([[[_streamTypePopup selectedItem] title] isEqualToString:@"UDP"])
>             [composedOptions appendFormat:@":standard{mux=ts,dst=%@,port=%@,access=udp", _outputDestination, [_streamPortField stringValue]];
> +        else if ([[[_streamTypePopup selectedItem] title] isEqualToString:@"Icecast"])
> +            [composedOptions appendFormat:@":standard{mux=ogg,dst=%@:%@@%@,access=shout",  [_streamUsernameField stringValue], [_streamPasswordField stringValue], _outputDestination];
>         else if ([[[_streamTypePopup selectedItem] title] isEqualToString:@"MMSH"])
>             [composedOptions appendFormat:@":standard{mux=asfh,dst=%@,port=%@,access=mmsh", _outputDestination, [_streamPortField stringValue]];
>         else
> @@ -970,7 +985,7 @@
>             }
>         }
> 
> -        [composedOptions appendString:@"} :sout-keep"];
> +        [composedOptions appendString:@"}"];
>     }
> 
>     return [NSString stringWithString:composedOptions];
> -- 
> 2.16.2
> 
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list