Move _STREAM_BOUNDARY before _STREAM_PART (#131)

The boundary delimiter (_STREAM_BOUNDARY) needs to be send before the
body part (_STREAM_PART) too follow RFC2046. This caused ffplay/ffmpeg
to fail to open the MJPEG stream.
pull/135/head
Alexander Bergmann 2020-02-24 10:24:18 +01:00 committed by GitHub
parent 159c819ae8
commit bbd7ce6c83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -588,6 +588,10 @@ static esp_err_t stream_handler(httpd_req_t *req)
#endif #endif
} }
if (res == ESP_OK) if (res == ESP_OK)
{
res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
}
if (res == ESP_OK)
{ {
size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len); size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);
res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen); res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
@ -596,10 +600,6 @@ static esp_err_t stream_handler(httpd_req_t *req)
{ {
res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len); res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
} }
if (res == ESP_OK)
{
res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
}
if (fb) if (fb)
{ {
esp_camera_fb_return(fb); esp_camera_fb_return(fb);