Can this patch be applied now? It doesn't have any line breaks anymore.

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?


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

[...]


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



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) */
+    char single_frame;            /* only single frame */

     /* feed specific */
     int feed_opened;              /* true if someone is writing to the
feed */
diff -Nrup ffmpeg-git--orig/libavformat/allformats.c
ffmpeg-git/libavformat/allformats.c
--- ffmpeg-git--orig/libavformat/allformats.c    2015-03-16
20:25:52.000000000 +0100
+++ ffmpeg-git/libavformat/allformats.c    2015-04-05
02:33:53.000000000 +0200
@@ -273,6 +273,7 @@ void av_register_all(void)
     REGISTER_MUXER   (SEGMENT,          stream_segment);
     REGISTER_DEMUXER (SHORTEN,          shorten);
     REGISTER_DEMUXER (SIFF,             siff);
+    REGISTER_MUXER   (SINGLEJPEG,       singlejpeg);
     REGISTER_DEMUXER (SLN,              sln);
     REGISTER_DEMUXER (SMACKER,          smacker);
     REGISTER_MUXDEMUX(SMJPEG,           smjpeg);
diff -Nrup ffmpeg-git--orig/libavformat/rawenc.c
ffmpeg-git/libavformat/rawenc.c
--- ffmpeg-git--orig/libavformat/rawenc.c    2015-03-16
20:25:54.000000000 +0100
+++ ffmpeg-git/libavformat/rawenc.c    2015-04-05$
02:33:53.000000000 +0200
@@ -250,6 +250,18 @@ AVOutputFormat ff_mjpeg_muxer = {
     .write_packet      = ff_raw_write_packet,
     .flags             = AVFMT_NOTIMESTAMPS,
 };
+
+AVOutputFormat ff_singlejpeg_muxer = {
+    .name              = "singlejpeg",
+    .long_name         = NULL_IF_CONFIG_SMALL("JPEG single image"),
+    .mime_type         = "image/jpeg",
+    .extensions        = "jpg,jpeg",
+    .audio_codec       = AV_CODEC_ID_NONE,
+    .video_codec       = AV_CODEC_ID_MJPEG,
+    .write_packet      = ff_raw_write_packet,
+    .flags             = AVFMT_NOTIMESTAMPS,
+    .write_header      = force_one_stream,
+};
 #endif
 
 #if CONFIG_MLP_MUXER

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to