Re: File_Vorbis Latest... [FOLLOWUP]
| From: | David Grant | Date: | Wed, 13 Aug 2003 11:22:45 +0000 |
| Subject: | Re: File_Vorbis Latest... [FOLLOWUP] | ||
| References: | 1 2 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-19671@lists.php.net to get a copy of this message | ||
> Using OGG_STREAM_VORBIS etc. internally is a good point. Maybe for
> decision if that stream is audio or video you could simply make up an
> array as a property in the class? Like
>
> $streamtypes=array(
> 'audio' => array(OGG_STREAM_VORBIS, OGG_STREAM_SPEEX),
> 'video' => array(OGG_STREAM_THEORA)
> );
> Using lowercase internally is really the best solution. I'd suggest
> to also avoid using spaces (substitute by an underscore) or any other
> "special characters" (like slashes etc.). Maybe you could make up an
> additional lookup-table which uses your constants as keys for lookup
> of the actual names (with upper-lower-class and also maybe with chars
> like spaces, slashes etc.) if a programmer wants to get the "correct
> names" for display on his webpages.
I'm thinking back to your original point about each stream type having
it's own details. Perhaps I should've not been so hasty to reject it.
Perhaps an array in the following format might be an idea:
Array (
OGG_STREAM_VORBIS => Array (
'pattern' => "vorbis",
'mime' = "application/ogg",
'type' = "audio",
)
)
I'll hack something together this evening.
>> > While designing File_Ogg:
>> > a) be sure to implement some return for "stream-type unknown"
>> > b) maybe tell the type of a stream (e.g. theora, speex, ...) even
>> > though you haven't implemented them. This would allow full scanning
>> > an ogg container without actually being able to retrieve streaminfo
>> > for every stream.
>>
>> a) Shouldn't this throw an error?
> An error in an array? Hmm ... you could probably return an object of
> type PEAR_Error, okay - but scanning through an ogg container and
> finding one (of many) streams that is unknown doesn't necessarily
> mean that a real "error" occured, does it?
I see. I misunderstood. So you were thinking along the lines of a
seperate OGG_STREAM_UNKNOWN constant? I thought you meant that the user
would request an unknown stream, in which case an error should definitely
be raised.
Regards,
David