[FFmpeg-devel] ffserver jpg patch

Michael Niedermayer michaelni at gmx.at
Tue May 5 05:01:50 CEST 2015


On Mon, May 04, 2015 at 06:35:36PM -0600, ill wrote:
> I changed it to git and add the .write header to the last part. The first part compiled after I changed ffserver.c, so it is no longer corrupted. Muxer detection seems to work when I tried it for the middle part. It should be good to fix ffserver now?
> 
> diff -Nrup ffmpeg-git--orig/ffserver.c ffmpeg-git/ffserver.c
> --- ffmpeg-git--orig/ffserver.c    2015-03-16 20:25:48.000000000 +0100
> +++ ffmpeg-git/ffserver.c    2015-04-05 02:33:53.000000000 +0200
> @@ -967,6 +967,10 @@ static int handle_connection(HTTPContext
>          /* close connection if trailer sent */
>          if (c->state == HTTPSTATE_SEND_DATA_TRAILER)
>              return -1;
> +        /* Check if it is a single jpeg frame 123 */
> +        if (c->stream->single_frame && c->data_count > c->cur_frame_bytes && c->cur_frame_bytes > 0) {
> +            close_connection(c);
> +        }
>          break;
>      case HTTPSTATE_RECEIVE_DATA:
>          /* no need to read if no events */
> diff -Nrup ffmpeg-git--orig/ffserver_config.c
> ffmpeg-git/ffserver_config.c
> --- ffmpeg-git--orig/ffserver_config.c    2015-03-16
> 20:25:48.000000000 +0100
> +++ ffmpeg-git/ffserver_config.c    2015-04-05 02:33:53.000000000 +0200
> @@ -862,8 +862,10 @@ static int ffserver_parse_config_stream(
>          } else {
>              stream->stream_type = STREAM_TYPE_LIVE;
>              /* JPEG cannot be used here, so use single frame MJPEG */
> -            if (!strcmp(arg, "jpeg"))
> -                strcpy(arg, "mjpeg");
> +            if (!strcmp(arg, "jpeg")) {
> +                strcpy(arg, "singlejpeg");
> +                stream->single_frame=1;
> +            }
>              stream->fmt = ffserver_guess_format(arg, NULL, NULL);
>              if (!stream->fmt)
>                  ERROR("Unknown Format: '%s'\n", arg);
> diff -Nrup ffmpeg-git--orig/ffserver_config.h
> ffmpeg-git/ffserver_config.h
> --- ffmpeg-git--orig/ffserver_config.h    2015-03-16
> 20:25:48.000000000 +0100
> +++ ffmpeg-git/ffserver_config.h    2015-04-05 02:33:53.000000000 +0200
> @@ -79,6 +79,7 @@ typedef struct FFServerStream {
>      int multicast_port;           /* first port used for multicast */
>      int multicast_ttl;
>      int loop;                     /* if true, send the stream in loops
> (only meaningful if file) */

patch is still corrupted by linebreaks
probably your MUA is breaking long lines, try to attach the patch or
use git send-email

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Complexity theory is the science of finding the exact solution to an
approximation. Benchmarking OTOH is finding an approximation of the exact
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150505/451c7bd0/attachment.asc>


More information about the ffmpeg-devel mailing list