public int GetWidthFromUrl(String url) { DFYoutube youtube = new DFYoutube(url); youtube.StarByte(); String s = ""; String temp; while (true) { youtube.Wait(100); temp = youtube.ReadString(); if (temp != "") { s += temp; continue; } else { temp = youtube.ErrorString(); if (temp != "") { s += temp; continue; } else if ((s.Length > 0) & (!youtube.IsRunning)) { break; } } } youtube.Terminate(); int p = s.IndexOf("(best)"); if (p <= 0) { throw new Exception("WIDTH SEARCH ERROR"); } int r, l; r = 0; while (((l = s.IndexOf(",", r + 1)) != -1) & (l < p)) { r = l; } l = r + 2; r = s.IndexOf(" ", l); s = s.Substring(l, r - l - 1); return(int.Parse(s)); }
public override void Start() { ffmpeg.StarByte(); youtube.StarByte(); Boolean youtubeStillRun; String s; //debug int i = 0; byte[] temp; bool youtubeClosed = false; while (true) { if (token.token) { break; } while ((s = ffmpeg.ErrorString()) != "") { Console.WriteLine(s); } while ((s = youtube.ErrorString()) != "") { Console.WriteLine(s); } while (ffmpeg.ReadCount > 0) { temp = ffmpeg.Read(); if (temp != null) { Output.Add(temp); } } while ((youtube.ReadCount > 0) & (ffmpeg.WriteCount < 2)) { temp = youtube.Read(); if (temp != null) { ffmpeg.Write(temp); } // i += temp.Length; // Console.WriteLine(i); } if ((!youtubeClosed) & (!youtube.IsRunning) & (youtube.ReadCount == 0) & ffmpeg.WriteCount == 0 & ffmpeg.ReadCount == 0) { ffmpeg.Hatiko(); youtubeClosed = true; } if (youtubeClosed & (!ffmpeg.IsRunning) & (ffmpeg.ReadCount == 0)) { break; } } //debug Output.Complete(); youtube.Terminate(); }