Reply to thread

i make a new post because yamp don't seem to listen what i say :


recently i offer you the possibility to choose between streams into media portal , i am disappointed because nobody tried to contact me about this.

yamp recently add some parts of my code but he didn't made a good code , my code was working well and he don't paste it , i can't understand that. He had a point a view of the problem which is not mine but his solution don't works, can you please send to him the following part of code

This code is his function modified by me and if he just replace his function by my function , all will be fully working.




part of VideoPlayerVRM7.cs

[code]

 public bool AnalyseStreams()

      {

          try

          {

            //INITIALIZE

            sStreams_Sub_No_Subtitle.Id=0;

            sStreams_Sub_No_Subtitle.Filter="";

            cStreams_Audio=0;

            cStreams_Video=0;

            cStreams_Sub=0;

            sStreams_Audio=new FilterStreamInfos[MAX_AUDIOSTREAMS];

            sStreams_Video=new FilterStreamInfos[MAX_VIDEOSTREAMS];

            sStreams_Sub=new FilterStreamInfos[MAX_SUBSTREAMS];   


            //RETRIEVING THE CURRENT SPLITTER

            string filter;

            IBaseFilter foundfilter=null;


            uint fetched=0;

            IEnumFilters enumFilters;

            graphBuilder.EnumFilters(out enumFilters);

            if (enumFilters!=null)

            {

                enumFilters.Reset();

                while (enumFilters.Next(1,out foundfilter,out fetched)==0)

                {

                    if (foundfilter!=null && fetched==1)

                    {

                        IAMStreamSelect pStrm = foundfilter as IAMStreamSelect;

                        if (pStrm!=null)

                        {

                            FilterInfo foundfilterinfos=new FilterInfo();

                            foundfilter.QueryFilterInfo(foundfilterinfos);

                            filter=foundfilterinfos.achName;

                            int cStreams=0;

                            pStrm.Count(out cStreams);

                                //GET STREAMS

                            for (int istream=0;istream<cStreams;istream++)

                            {

                                AMMediaType sType;AMStreamSelectInfoFlags sFlag;

                                int sPDWGroup,sPLCid;string sName;

                                object pppunk,ppobject;

                                //STREAM INFO

                                pStrm.Info(istream,out sType,out sFlag,out sPLCid,

                                    out sPDWGroup,out sName,out pppunk,out ppobject);


                                //VIDEO

                                if (sPDWGroup==0 && cStreams_Video<MAX_VIDEOSTREAMS)

                                {

                                    sStreams_Video[cStreams_Video].Name=sName;

                                    sStreams_Video[cStreams_Video].Id=istream;

                                    sStreams_Video[cStreams_Video].Filter=filter;

                                    sStreams_Video[cStreams_Video].Current=false;

                                    if (cStreams_Video==0)

                                    {

                                        sStreams_Video[cStreams_Video].Current=true;

                                        pStrm.Enable(istream,0);

                                        pStrm.Enable(istream,AMStreamSelectEnableFlags.Enable);

                                    }

                                    cStreams_Video++;

                                }

                                else

                                    //AUDIO

                                    if (sPDWGroup==1 && cStreams_Audio<MAX_AUDIOSTREAMS)

                                {

                                    sStreams_Audio[cStreams_Audio].Name=sName;

                                    sStreams_Audio[cStreams_Audio].Id=istream;

                                    sStreams_Audio[cStreams_Audio].Filter=filter;

                                    sStreams_Audio[cStreams_Audio].Current=false;

                                    if (cStreams_Audio==0)

                                    {

                                        sStreams_Audio[cStreams_Audio].Current=true;

                                        pStrm.Enable(istream,0);

                                        pStrm.Enable(istream,AMStreamSelectEnableFlags.Enable);

                                    }

                                    cStreams_Audio++;

                                }

                                else

                                    //SUBTITLE

                                    if (sPDWGroup==2 && cStreams_Sub<MAX_SUBSTREAMS && sName.LastIndexOf("off")==-1  && sName.LastIndexOf("No ")==-1&& sName.LastIndexOf("Miscellaneous ")==-1)

                                {

                                    sStreams_Sub[cStreams_Sub].Name=sName;

                                    sStreams_Sub[cStreams_Sub].Id=istream;

                                    sStreams_Sub[cStreams_Sub].Filter=filter;

                                    sStreams_Sub[cStreams_Sub].Current=false;

                                    if (cStreams_Sub==0)

                                    {

                                        sStreams_Sub[cStreams_Sub].Current=true;

                                        pStrm.Enable(istream,0);

                                        pStrm.Enable(istream,AMStreamSelectEnableFlags.Enable);

                                    }

                                    cStreams_Sub++;

                                }

                                else

                                    //NO SUBTITILE TAG

                                if (sPDWGroup==2 && cStreams_Sub<MAX_SUBSTREAMS && (sName.LastIndexOf("off")!=-1 || sName.LastIndexOf("No ")!=-1))

                                {

                                    sStreams_Sub_No_Subtitle.Id=istream;

                                    sStreams_Sub_No_Subtitle.Current=false;

                                    sStreams_Sub_No_Subtitle.Filter=filter;

                                    sStreams_Sub_No_Subtitle.Name=sName;

                                }

                            }

                        }

                        Marshal.ReleaseComObject(foundfilter);

                    }

                }

                Marshal.ReleaseComObject(enumFilters);

            }

          }

          catch

          {

          }

          return true;

      }

[/code]


Thanks .


Top Bottom