R S - 2012-09-12

Most of the formats worked but .. MKV files were no go for my Samsung TV, (LN-55C630), The useragent it sent was: DLNADOC/1.50..

I believe it should have something that would hit the following if condition in the upnphttp.c
    else if((s=strstrc(p, "SEC_HHP_", '\r')))
                                {
                                        h->req_client = ESamsungSeriesC;
                                        h->reqflags |= FLAG_SAMSUNG;
                                        h->reqflags |= FLAG_DLNA;
                                        h->reqflags |= FLAG_NO_RESIZE;
                                        if(strstrc(s+8, "TV", '\r'))
                                                h->reqflags |= FLAG_SAMSUNG_TV;
                                }

but the user Agent the TV sends is DLNADOC/1.50, So I put this cludge:

Change:

else if(strstrc(p, "DLNADOC/1.50", 12)==0)
                                {
                                        h->req_client = EStandardDLNA150;
                                        h->reqflags |= FLAG_DLNA;
                                        h->reqflags |= FLAG_NO_RESIZE;
                                }

To:
else if(strstrc(p, "DLNADOC/1.50", 12)==0)
                                {
                                        h->req_client = ESamsungSeriesC;
                                        h->reqflags |= FLAG_SAMSUNG;
                                        h->reqflags |= FLAG_DLNA;
                                        h->reqflags |= FLAG_NO_RESIZE;
                                        /*if(strstrc(s+8, "TV", '\r'))*/
                                        h->reqflags |= FLAG_SAMSUNG_TV;

                                        /*h->req_client = EStandardDLNA150;
                                        h->reqflags |= FLAG_DLNA;
                                        h->reqflags |= FLAG_NO_RESIZE; */
                                }

Now I can watch mkv files on my TV :o) and all other supported formats..

So all need to do is run mindlna in debug mode and see what user agent the TV is sending and make sure its hitting the part of the code that is expected.. if it doesn't then put a band-aid as I know what will use dlna in my house so i am not worried about messing up the standard :)

Hope this helps out some Samsung users..

PS: It should be noted that the AirAV app on the (wife's) Ipad uses the same useragent.. I am not sure what has broke on there.. but then its a Apple product so she gets no support from me :P