From 9da41cd7b44ff14a968e656b55a996bb035053f3 Mon Sep 17 00:00:00 2001
From: sr55 <sr55.hb@outlook.com>
Date: Thu, 22 Jan 2015 19:39:14 +0000
Subject: [PATCH] WinGui: Fix subtitle track index.  Made both Audio and
 Subtitle tracks 0 based.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6792 b64f7644-9d1e-0410-96f1-a4d463321fa5
---
 .../Utilities/InteropModelCreator.cs                          | 2 +-
 .../HandBrakeInterop/Json/Factories/EncodeFactory.cs          | 3 ++-
 .../HandBrakeInterop/Json/Factories/ScanFactory.cs            | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/InteropModelCreator.cs b/win/CS/HandBrake.ApplicationServices/Utilities/InteropModelCreator.cs
index 8cd9588b8..09fa4b98f 100644
--- a/win/CS/HandBrake.ApplicationServices/Utilities/InteropModelCreator.cs
+++ b/win/CS/HandBrake.ApplicationServices/Utilities/InteropModelCreator.cs
@@ -74,7 +74,7 @@ namespace HandBrake.ApplicationServices.Utilities
                                                  Drc = track.DRC, 
                                                  Gain = track.Gain, 
                                                  Encoder = Converters.GetCliAudioEncoder(track.Encoder), 
-                                                 InputNumber = track.Track.HasValue ? track.Track.Value - 1 : 0, // It's 0 based index 
+                                                 InputNumber = track.Track.HasValue ? track.Track.Value : 0,
                                                  Mixdown = Converters.GetCliMixDown(track.MixDown), 
                                                  SampleRateRaw = GetSampleRateRaw(track.SampleRate), 
                                                  EncodeRateType = AudioEncodeRateType.Bitrate, 
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/EncodeFactory.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/EncodeFactory.cs
index 2ddc5a6fc..3be6387ee 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/EncodeFactory.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/EncodeFactory.cs
@@ -200,7 +200,8 @@ namespace HandBrake.Interop.Json.Factories
                 }
                 else
                 {
-                    SubtitleList track = new SubtitleList { Burn = item.BurnedIn, Default = item.Default, Force = item.Forced, ID = item.TrackNumber, Track = item.TrackNumber };
+                    // Note, Subtitle tracks are a 0 based index. So Subtitle 1 == index 0
+                    SubtitleList track = new SubtitleList { Burn = item.BurnedIn, Default = item.Default, Force = item.Forced, ID = item.TrackNumber, Track = (item.TrackNumber) };
                     subtitle.SubtitleList.Add(track);
                 }
             }
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/ScanFactory.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/ScanFactory.cs
index df2e4918c..2cee8252b 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/ScanFactory.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Json/Factories/ScanFactory.cs
@@ -133,7 +133,7 @@ namespace HandBrake.Interop.Json.Factories
         {
             List<Subtitle> subtiles = new List<Subtitle>();
 
-            int currentSubtitleTrack = 1;
+            int currentSubtitleTrack = 0;
             foreach (SubtitleList subtitle in subtitles)
             {
                 Subtitle newSubtitle = new Subtitle
@@ -166,7 +166,7 @@ namespace HandBrake.Interop.Json.Factories
         {
             List<AudioTrack> tracks = new List<AudioTrack>();
 
-            int currentAudioTrack = 1;
+            int currentAudioTrack = 0;
             foreach (AudioList track in audioTracks)
             {
                 AudioTrack newAudio = new AudioTrack
-- 
2.40.0