[FFmpeg-devel] [patch]add mmsh protocol and extract common code for mmst.c

zhentan feng spyfeng
Sat Aug 21 05:04:01 CEST 2010


Hi

On Fri, Aug 20, 2010 at 11:33 PM, Stefano Sabatini <
stefano.sabatini-lala at poste.it> wrote:

> On date Friday 2010-08-20 23:10:56 +0800, zhentan feng encoded:
> [...]
> > Index: libavformat/mmsh.c
> > ===================================================================
> > --- libavformat/mmsh.c        (revision 0)
> > +++ libavformat/mmsh.c        (revision 0)
> > @@ -0,0 +1,367 @@
> > +/*
> > + * MMS protocol over HTTP
> > + * Copyright (c) 2010 Zhentan Feng <spyfeng at gmail dot com>
> > + *
> > + * This file is part of FFmpeg.
> > + *
> > + * FFmpeg is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU Lesser General Public
> > + * License as published by the Free Software Foundation; either
> > + * version 2.1 of the License, or (at your option) any later version.
> > + *
> > + * FFmpeg is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> > + * Lesser General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU Lesser General Public
> > + * License along with FFmpeg; if not, write to the Free Software
> > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> > + */
> > +
>
> > +/*
> > + * Reference
> > + * Windows Media HTTP Streaming Protocol.
> > + * http://msdn.microsoft.com/en-us/library/cc251059(PROT.10).aspx
> > + */
> > +#include <string.h>
>
> Add an empty line between comments and first #include line for
> enhanced readability.
>
>

added.

> [...]
> > +static int read_data_packet(MMSHContext *mmsh, const int len)
> > +{
> > +    MMSContext *mms   = &mmsh->mms;
> > +    int res;
> > +    if (len > sizeof(mms->in_buffer)) {
>
> > +        av_log(NULL, AV_LOG_ERROR,
> > +              "Data packet length %d exceeds the in_buffer size %d\n",
> > +               len, sizeof(mms->in_buffer));
>
> Indent one char more the "foo" lines, here and below, I mean:
>
>        av_log(NULL, AV_LOG_ERROR,
>               "Data packet length %d exceeds the in_buffer size %d\n",
>               len, sizeof(mms->in_buffer));
>
> [...]
>
>

modified.

> > +static int handle_chunk_type(MMSHContext *mmsh)
> > +{
> > +    MMSContext *mms = &mmsh->mms;
> > +    int res, len = 0;
> > +    ChunkType chunk_type;
> > +    chunk_type = get_chunk_header(mmsh, &len);
> > +
> > +    switch (chunk_type) {
> > +    case CHUNK_TYPE_END:
> > +        mmsh->chunk_seq = 0;
> > +        av_log(NULL, AV_LOG_ERROR, "Stream ended!\n");
> > +        return AVERROR(EIO);
> > +    case CHUNK_TYPE_STREAM_CHANGE:
> > +        mms->header_parsed = 0;
>
> > +        if ((res = get_http_header_data(mmsh)) != 0) {
>
> This can also be:
>           if ((res = get_http_header_data(mmsh))) {
>
> or maybe it's better check for < 0, more future-proof.
>
>

modified.

> > +            av_log(NULL, AV_LOG_ERROR,"Stream changed! get new header
> failed!\n");
>
> Maybe better:
> av_log(NULL, AV_LOG_ERROR, "Stream changed! Failed to get new header!\n");
>



yes,  modified.

zhentan
thanks
-- 
Best wishes~
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mmsh_821.patch
Type: application/octet-stream
Size: 14294 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100821/5a6e136f/attachment.obj>



More information about the ffmpeg-devel mailing list