Sorry for the delay....

At 4:57 PM -0700 7/12/11, David Singer wrote:

 On Jul 5, 2011, at 7:53 , Miguel A. Garcia wrote:

 Minor issues:

- I disagree with a few MAYs and MUSTs in Section 3.1. I will suggest to change all of them to lower case. Let me revise them:

   Therefore, when a receiver does not
   support all listed codecs, special handling MAY be required.
                                               ^^^
This one does not specify a clear option that can be implemented. For example, I could not write a conformance requirement towards that "MAY". What should be the "special handling", and what are the options that I can implement or not?


I think this should not be upper-case. The ways the receiver handles missing codecs will depend on the application, the availability of fall-backs, and so on, all of which are out of scope.

I agree. My recollection is that this was originally written "may" and someone in a different review asked it to be changed to "MAY". For clariity, perhaps we should use "might" which is clearly descriptive, not normative ("might require special handling").



  >   For
   example, the media element(s) MAY need to be examined in order to
                                 ^^^^
   determine if an unsupported codec is actually required ...

This one has a contradiction: if it is an example ("For example,") then it cannot have a normative statement. Besides, it also suffers from the same problem as the previous "MAY", it is not clear what are the options to be implemented or not, and how to write a statement of compliance.

Again, lower-case the 'may'. It is possible, for example, that the codec in question is only used in a part of the time-line that is not requested.

Agreed. Perhaps also switch to "the media element(s) could be examined" to avoid this sort of confusion.


  >   NOTE: Although the parameter value MUST be complete and accurate in
                                      ^^^^
   'breadth' (that is, it MUST report all four-character codes used in
                          ^^^^
   all tracks for ISO-family files, for example) systems MUST NOT rely
                                                         ^^^^^^^^
   on it being complete in 'depth'.

The problem with the above three "MUSTs" is that they are in a NOTE, and notes are informative by nature. So, either you remove the word "NOTE:" or you turn them all lowercase. If you keep the uppercase, it would be nice to see which entity is responsible to execute the "MUST", i.e., the encoder of the decoder. The current wording, although polite, does not clearly indicate which entity is responsible for implementing the MUSTs.

This should not be a NOTE, it should be plain text. The encoder MUST report across the complete breadth; the receiver MUST NOT rely on the report being complete in depth.

Agree.



> - Section 3.2. There is a uncongruency between the BNF and the examples. Please observe the BNF of the 'cod-fancy' object:

   cod-fancy   := "codecs*" ":=" encodedv

  Now observe the examples given in Section 3.1:

          codecs*=''fo%2e
          codecs*="''%25%20xz, gork"

I am missing a colon ":" before the equal sign "=", in order for the examples to be compliant with the BNF. Therefore, I would have expected that the examples were:

          codecs*:=''fo%2e
                 ^
          codecs*:="''%25%20xz, gork"
                 ^

Alternatively, if the examples are correct, the ABNF should have not included a colon ":". I don't know which one is correct.

 I believe that the ":" in the BNF is an error.

Yes, this looks like a typo.

Look at 'cod-simple' and 'cod-fancy' together:

   cod-simple  := "codecs" "=" unencodedv
   cod-fancy   := "codecs*" ":=" encodedv


The same error is in RFC 4281, so this should be filed as an errata. I'll do that now.


> Please observe that the resolution of this issue may also apply to the examples in Section 4.2 or the BNF in 4.5.

I don't think so, because the ":=" is a typo.


> - BNF in Section 3.2. The definition of "simpl-list" does not admit a white space in a list of elements, however the examples show them with spaces. So, either the BNF or the examples are wrong. Please observe the BNF:

      simp-list   := DQUOTE id-simple *( "," id-simple ) DQUOTE

 and the examples in Section 3.1:

               codecs="a.bb.ccc.d, e.fff"

I think many people follow the examples; the BNF needs to permit (but not require) white-space.

I believe this is confusion between BNF and ABNF. BNF has implicit white space, although to be honest I can't recall exactly where in RFC 822 this is spelled out or if that was inhereted from Algol's BNF.

The best course would be to replace the syntax with ABNF but that requires adding in explicit white space where BNF's grammar has it implicit. This is more work than I wanted to do, at least now, mostly because I'm afraid of missing something.


> - BNF in Section 3.2 There is normative words "MAY" written as comments to the BNF. I belive this is not the right place to insert normative statements, so I suggest to add that text elsewhere in the draft rather than embedded in a comment:

      fancy-sing  := [charset] "'" [language] "'" id-encoded
                  ; Parsers MAY ignore <language>
                            ^^^
                  ; Parsers MAY support only US-ASCII and UTF-8
                            ^^^
      fancy-list  := DQUOTE [charset] "'" [language] "'" id-list DQUOTE
                  ; Parsers MAY ignore <language>
                            ^^^
                  ; Parsers MAY support only US-ASCII and UTF-8
                            ^^^


 Indeed, these two statements need to be moved.

Well, the BNF is specifying elements that need to be permitted to be compliant with MIME but which have no specification here. We're borrowing the MIME character set encoding syntax, which allows for language, but we don't actually use language, so we allow parsers to ignore it if specified. This is a rule that only applies to the parser components of an implementation.

Probably the right thing is to leave the comment in the BNF, but also add it in the text. In Section 3, the paragraph that starts "An element MAY include an octet that must be encoded" should probably have a new sentence at the end saying:

    While [MIME-Coding] allows specification of character set and
    language, this parameter does not contain items intended for
    human consumption, and hence makes no use of language.  The
    language element MAY be omitted (and usually is); the character
    set MAY also be omitted (and usually is).  A receiver MAY ignore
    language and MAY choose to support only ASCII and UTF-8.


> - A comment on the same part of the BNF. I think you need to add normative references to "US-ASCII" and "UTF-8".

Ouch. US-ASCII is formally defined by a spec. which is basically unavailable. Does anyone reading this really not know what it is? UTF-8 needs a Unicode reference, yes.

I think it's fine to just say "ASCII"

IANA defines it as "ANSI_X3.4-1968" but I also found RFC 20 which we can use as the reference.


> - IANA considerations section. I am puzzled with this section. It says that IANA has already added "codecs" and "profiles" as optional parameters the media types... but honestly, I haven't found evidence of it. Can you please point to what IANA has already done?

I think 'codecs' got overlooked after the previous RFC was published. This is written in the past tense so it will be true after the publication of this (and the matching IANA action).

I'm having trouble finding an IANA registry of parameters, but I do see a reference to RFC 4281 for some MIME types. We should clear this up with IANA.


> Additionally, I noticed in the I-D tracker that IANA has added this draft as references to a selection of media types. Is this what was requested by this draft? Honestly, I think not. I suspect this is totally different from what this draft is requesting.

 This draft should be additional to the base definition of the media types.

 Nits:

- Section 3.1, at the top of page 8, the word "REQUIRES" is capitalized. Since this is not an RFC 2119 word, I would suggest to write it in lower case.

   An element MAY include an octet that [RFC2045] REQUIRES to be
   encoded.



 OK

Agree.



- Section 3.1, same paragraph as the previous comment, towards the end. For the sake of clarity, I would suggest to refer to "percent encoded", which I believe is the common terminology for special characters that are encoded with a percent symbol. That would make the text:

   .... and single quote characters have special meaning and
   so MUST themselves be percent encoded.
                         ^^^^^^^

 This comment also applies to the last paragraph in Section 4.2.


 OK

Agree.




- I don't understand why Sections 3 and 4 have different structure. They should be equal in structure. For example, take the BNF definitions. We have Section 3.2 titled "Generic Syntax", while Section 4.2 is not a BNF. Ok, it is Section 4.5, but why is it titled "Profiles Parameter BNF definition"? I agree more with the latter title, but should also be applied to the codec BNF definition.

I left the previous structure of the 'codecs' section unchanged from the previous RFC for consistency; but it seemed a new structure for the new 'profiles' section would aid clarity.

I'm OK either way.


--
Randall Gellens
Opinions are personal;    facts are suspect;    I speak for myself only
-------------- Randomly selected tag: ---------------
The Law, in its majestic equality, forbids the rich, as well as the
poor, to sleep under the bridges, to beg in the streets, and to steal
bread.                                               --Anatole France
_______________________________________________
Gen-art mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/gen-art

Reply via email to