[FFmpeg-devel] [PATCH] ffmpeg doesn't decode track number on some wma files
Michael Niedermayer
michaelni
Thu Jun 14 21:58:27 CEST 2007
Hi
On Thu, Jun 14, 2007 at 07:20:18PM +0100, Patrice Bensoussan wrote:
>
> On 14 Jun 2007, at 09:52, Michael Niedermayer wrote:
>
> > Hi
> >
> > On Thu, Jun 14, 2007 at 09:13:52AM +0100, Patrice Bensoussan wrote:
> >>
> >> On 14 Jun 2007, at 09:00, Benoit Fouet wrote:
> >>
> >>> Patrice Bensoussan wrote:
> >>>> Hello,
> >>>>
> >>>> On 14 Jun 2007, at 08:40, Benoit Fouet wrote:
> >>>>
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> Patrice Bensoussan wrote:
> >>>>>
> >>>>>> Index: libavformat/asf.c
> >>>>>> =================================================================
> >>>>>> ==
> >>>>>> --- libavformat/asf.c (revision 9304)
> >>>>>> +++ libavformat/asf.c (working copy)
> >>>>>> @@ -389,6 +389,16 @@
> >>>>>> {
> >>>>>> if (!strcmp(name,"WM/
> >>>>>> AlbumTitle")) get_str16_nolen(pb, value_len, s->album, sizeof(s-
> >>>>>>
> >>>>>>> album));
> >>>>>>>
> >>>>>> else if(!strcmp(name,"WM/
> >>>>>> Genre" )) get_str16_nolen(pb, value_len, s->genre, sizeof(s-
> >>>>>>
> >>>>>>> genre));
> >>>>>>>
> >>>>>> + else if (!strcmp(name,"WM/
> >>>>>> Track")) {
> >>>>>> + char track[8];
> >>>>>> + get_str16_nolen(pb,
> >>>>>> value_len, track, sizeof(track));
> >>>>>> + s->track = strtol(track,
> >>>>>> NULL, 10) + 1;
> >>>>>> + }
> >>>>>> + else if (!strcmp(name,"WM/
> >>>>>> TrackNumber")) {
> >>>>>> + char track[8];
> >>>>>> + get_str16_nolen(pb,
> >>>>>> value_len, track, sizeof(track));
> >>>>>> + s->track = strtol(track,
> >>>>>> NULL, 10);
> >>>>>> + }
> >>>>>>
> >>>>>>
> >>>>> you should try to keep the nice alignment
> >>>>> also, if i read correctly, it is the very same code for the two
> >>>>> else if
> >>>>> you added. Why not add them into a single one ?
> >>>>>
> >>>>
> >>>> The alignment seems to be correct for me (I checked with an hex
> >>>> editor and can only see spaces unless I am missing something).
> >>>
> >>> i was more thinking of if and strcmp's parenthesis alignment
> >>>
> >>
> >> OK, I missed that one. Here is a new patch with the if parenthesis
> >> aligned.
> > [...]
> >> Index: libavformat/asf.c
> >> ===================================================================
> >> --- libavformat/asf.c (revision 9304)
> >> +++ libavformat/asf.c (working copy)
> >> @@ -389,6 +389,16 @@
> >> {
> >> if (!strcmp(name,"WM/
> >> AlbumTitle")) get_str16_nolen(pb, value_len, s->album, sizeof(s-
> >> >album));
> >> else if(!strcmp(name,"WM/
> >> Genre" )) get_str16_nolen(pb, value_len, s->genre, sizeof(s-
> >> >genre));
> >> + else if(!strcmp(name,"WM/Track")) {
> >> + char track[8];
> >> + get_str16_nolen(pb,
> >> value_len, track, sizeof(track));
> >> + s->track = strtol(track,
> >> NULL, 10) + 1;
> >> + }
> >> + else if(!strcmp(name,"WM/
> >> TrackNumber")) {
> >> + char track[8];
> >> + get_str16_nolen(pb,
> >> value_len, track, sizeof(track));
> >> + s->track = strtol(track,
> >> NULL, 10);
> >> + }
> >
> > what about
> > char buf[123];
> > get_str16_nolen(pb, value_len, track, sizeof(buf));
> > if( !strcmp(name,"WM/AlbumTitle")) copy
> > else if(!strcmp(name,"WM/Genre" )) copy
> > else if(!strcmp(name,"WM/Track" )) s->track = strtol(track,
> > NULL, 10) + 1;
> > ...
> >
> > ?
>
> This code would be slower (you are going to do some extra copying and
this is used only by the header reading code
> I think it is less readable IMHO. I would rather stick with the patch
> submitted.
well i have no strong oppinion on this, do whatever you like, asf is a mess
anyway
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Democracy is the form of government in which you can choose your dictator
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070614/19fdf524/attachment.pgp>
More information about the ffmpeg-devel
mailing list