Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread Michael Niedermayer
On Mon, Apr 06, 2015 at 04:48:24PM +, Timothy Gu wrote:
 On Sun, Apr 5, 2015 at 8:43 PM Michael Niedermayer michae...@gmx.at wrote:
[...]
 
 
  * our fate server lacks the ability to display a user specified release
this makes the output look quite unwieldy
Timothy was working on a rewrite
 
 
 I haven't touched that thing in a few months but it's in a pretty good
 shape. With a few minor updates it should be good to go at least on
 fate-beta.ffmpeg.org or something like that. There are still a few minor
 things I want to fix (like minirep/minilog, warning diff (is it really
 useful now since most boxes are using make -jx and testing order changes
 every time?), and some minor styling issue).

ok,
do you have your own server where i should make
fate-beta.ffmpeg.org point to or its something that needs to be setup
on the fate / or some other server ?


 
 [...]
 
  * Decentralize
Too many things are done and admined by me, iam doing security updates
  to the
servers, doing the git merges, maintaining all releases, maintaining
  half the
fate clients, submitting data to coverity and doing all the crap that
  noone
else wants to do.
Does the community care so little that they want me to be a single point
  of
failure?
We need people to take some of this over at least on the basis of a
  backup
in case iam unavailable for whatever reason, and i think it should
  ideally
be people who do not yet have their daily work shedule overflowing with
  ffmpeg
work but better new volunteers.
 
 
 - Project servers: MAINTAINERS list four people [1], one of which I have
 never
   ever seen on this list,

There are mails from arpi on the list but he possibly didnt write his
full name in the mails


 and it is not clear to me how the servers are
   administered (who pays for it? who has access to it? who has access to the

main servers are provided by arpi
fate server by baptiste
coverage by ubitux


   hosting company's setting page?) [2]

my knowledge of the hosting details is limited


 - Git merges: when I first came to this project merges are still called
 Merge
   from remote tracking branch 'qatar/master'. WTF is qatar? Now of course
   that is not a problem any more, but the merges remain undocumented on any
   official documentation I could find (maybe I didn't look hard enough?). If
   the behavior itself is not known publicly how can anyone help?

They are probably undocumented on the FFmpeg side but iam not sure
what to document beyond what is in the git manual page


 - Coverity: one can easily hook it up to a FATE box.

maybe, but there are some special considerations
* as many as possible features, external libs, ... have to be enabled
  as coverity only tests what is actually build
* the authorizaton token needed to upload must never end in any
  vissible fate results
* actally running fate isnt needed

so a simple cronjob seems better suited /easier than fate
but if you want to take coverity build/uploads over i can provide
you with the details needed to upload and what is currently enabled
(i dont want to loose testing for (m)any components)


 
 [1]: https://github.com/FFmpeg/FFmpeg/blob/master/MAINTAINERS#L48
 [2]: Yes I guess I can ask on IRC or whatever but I am lazy, and I know that
  there are people lazier than me. If it is so hard to find out how to
  *volunteer* I would not imagine many people trying to volunteer.
 
 But anyway, I can volunteer to take over coverage.ffmpeg.org. But again who
 should I find to discuss this thing in detail? Michael? Clément? I don't
 know.

coverage is 100% Cléments area, i dont know if he wants/needs any
volunteers for it


 
 Also a news article on a call for maintainers would be beneficial (?).

yes but the last one was not too effective, so maybe someone else
should write that

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

No great genius has ever existed without some touch of madness. -- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] lavf: Add support for WebM Live Muxing

2015-04-06 Thread Vignesh Venkatasubramanian
On Sat, Apr 4, 2015 at 3:38 PM, Michael Niedermayer michae...@gmx.at wrote:
 On Mon, Mar 30, 2015 at 02:46:10PM -0700, Vignesh Venkatasubramanian wrote:
 This patch adds support for WebM Live Muxing by adding a new WebM
 Chunk muxer. It writes out live WebM Chunks which can be used for
 playback using Live DASH Clients.

 Please see muxers.texi for sample usage.

 [...]

 diff --git a/libavformat/version.h b/libavformat/version.h
 index a183d7f..ff85227 100644
 --- a/libavformat/version.h
 +++ b/libavformat/version.h
 @@ -30,7 +30,7 @@
  #include libavutil/version.h

  #define LIBAVFORMAT_VERSION_MAJOR 56
 -#define LIBAVFORMAT_VERSION_MINOR  26
 +#define LIBAVFORMAT_VERSION_MINOR  27
  #define LIBAVFORMAT_VERSION_MICRO 101

  #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
 diff --git a/libavformat/webm_chunk.c b/libavformat/webm_chunk.c
 new file mode 100644
 index 000..48ea6f0
 --- /dev/null
 +++ b/libavformat/webm_chunk.c
 @@ -0,0 +1,262 @@
 +/*
 + * Copyright (c) 2015, Vignesh Venkatasubramanian
 + *
 + * 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
 + */
 +
 +/**
 + * @file WebM Chunk Muxer
 + * The chunk muxer enables writing WebM Live chunks where there is a header
 + * chunk, followed by data chunks where each Cluster is written out as a 
 Chunk.
 + */
 +
 +#include float.h
 +#include time.h
 +
 +#include avformat.h
 +#include avio.h
 +#include internal.h
 +
 +#include libavutil/avassert.h
 +#include libavutil/log.h
 +#include libavutil/opt.h
 +#include libavutil/avstring.h
 +#include libavutil/parseutils.h
 +#include libavutil/mathematics.h
 +#include libavutil/time.h
 +#include libavutil/time_internal.h
 +#include libavutil/timestamp.h
 +
 +typedef struct WebMChunkContext {
 +const AVClass *class;
 +int chunk_start_index;
 +char *header_filename;
 +int chunk_duration;
 +int chunk_count;
 +int chunk_index;
 +uint64_t duration_written;
 +int prev_pts;
 +AVOutputFormat *oformat;
 +AVFormatContext *avf;
 +} WebMChunkContext;
 +
 +static int chunk_mux_init(AVFormatContext *s)
 +{
 +WebMChunkContext *wc = s-priv_data;
 +AVFormatContext *oc;
 +int ret;
 +
 +ret = avformat_alloc_output_context2(wc-avf, wc-oformat, NULL, NULL);
 +if (ret  0)
 +return ret;
 +oc = wc-avf;
 +
 +oc-interrupt_callback = s-interrupt_callback;
 +oc-max_delay  = s-max_delay;
 +av_dict_copy(oc-metadata, s-metadata, 0);
 +
 +oc-priv_data = av_mallocz(oc-oformat-priv_data_size);
 +if (!oc-priv_data) {
 +avio_close(oc-pb);
 +return AVERROR(ENOMEM);
 +}
 +*(const AVClass**)oc-priv_data = oc-oformat-priv_class;
 +av_opt_set_defaults(oc-priv_data);
 +av_opt_set_int(oc-priv_data, dash, 1, 0);
 +av_opt_set_int(oc-priv_data, cluster_time_limit, wc-chunk_duration, 
 0);
 +av_opt_set_int(oc-priv_data, live, 1, 0);
 +

 +oc-streams = s-streams;
 +oc-nb_streams = s-nb_streams;

 why doesnt the code use avformat_new_stream() and avcodec_copy_context()
 see hlsenc/segment muxers for examples

 or is there a reason why this would not work or be hard ?


it seems unnecessary to make a copy of the stream and codec context
when it can be used safely within this file without duplication. is
there something wrong with that line of thought?

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

 Concerning the gods, I have no means of knowing whether they exist or not
 or of what sort they may be, because of the obscurity of the subject, and
 the brevity of human life -- Protagoras

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




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


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread Derek Buitenhuis
On 4/6/2015 4:43 AM, Michael Niedermayer wrote:
 * Post merge reviewcleanup, changes merged from libav would benefit from
   people reviewing and MUCH MUCH more importantly also people actually caring
   about and taking responsibility not just dumping comments with the idea
   someone will fix it.
   Ideally each area would have a maintainer who takes care of it and
   keeps it in good nick.

How would this actually work? Sit around and wait for merge commits and look at 
them?

I sometimes do, but most of the commits that are merged are pretty boring 
stuff, and
I tend not to read them.

 * fate clients
   we lack a armcc test, a real android test
   someone should take over haiku and sunos/solaris fate clients, my haiku VM 
 just
   keeps crashing

Is there a wiki somewhere of stuff that needs to be tested? I shut down all my 
FATE
instances 2 weeks ago for maintenance, but will be bringing them + more back up.

 * our fate server lacks the ability to display a user specified release
   this makes the output look quite unwieldy
   Timothy was working on a rewrite

[...]

 * Paid maintainers
   a big problem is that we have areas in the codebase that have no maintainr 
 or
   rather noone with sufficient time+will+abilty.
   It would help tremendiusly if maintainers could work full
   time on maintaining code instead of just a few hours in their free
   time

Where exactly would the money come from? Most, if not all of us have day jobs,
and/or are students.

 * ffserver lacks a regression test
   code that is not tested will accumulate bugs. period
   there are people who use ffserver, they clearly like the lack of regression
   tests it seems as noone finds the need to look into changing that.

Drop ffserver. It is crap, and I have been saying this for years. It has no 
legitimate
use cases as far as I am concerned.

 * more people should help on https://trac.ffmpeg.org, like check that tickets
   contain all information needed to reproduce and ask the reporter to provide
   missing information, check if things are regressions, if they can be 
 reproduced,
   bisect regressions or ask the reporter to bisect and help him if needed
   close tickets where there is not enough information to reproduce and the
   reporter doesnt react for months. ATM carl does all that and more but
   iam sure he wouldnt mind if more people would help him

I can only speak for myself and a couple others, but we stay well away from the 
bug
tracker because we cannot stand a certain prolific person there.

 * Stipends and Sponsorship programs
   We do not have enough funds for basic things, for example OPW/Outreachy is
   twice a year and to participate we have to pay at least one stipend
   (about 6.5k USD). We participated in december 2014 and it allowed us to 
 convert
   all remaining libmpcodecs filters to the native system. resulted in multiple
   new video filters and several block ciphers which are faster then all other
   tested implementations. For may 2015 we only way after the last minute 
 managed
   to secure some funding so we are short of applicants now as for a long
   time ffmpeg was not listed as a participating org.

And we have a bunch of massive failures too. I'm not 100% certain it's even 
worth it.
Not that we have been accepted in GSoC it seems like a better route, 
financially,
for attracting new people. Or, you know, people could contribute without cash
incentives - but I guess that concept is lost nowadays? :/

 * Decentralize
   Too many things are done and admined by me, iam doing security updates to 
 the
   servers, doing the git merges, maintaining all releases, maintaining half 
 the
   fate clients, submitting data to coverity and doing all the crap that noone
   else wants to do.

It's not really documented all the stuff which needs to be done, such as server 
updates,
or who handles them and pay, etc. Basically what Timothy said.

   Does the community care so little that they want me to be a single point of
   failure?

Nobody wants that. I don't recall any previous requests for help with the 
overhead work
such as server admin though.

   We need people to take some of this over at least on the basis of a backup
   in case iam unavailable for whatever reason, and i think it should ideally
   be people who do not yet have their daily work shedule overflowing with 
 ffmpeg
   work but better new volunteers.

I don't mind pitching in a small amount, and I can do a bit during work hours 
perhaps
(whithin sanity/reason), but I also have a busy life with travel and significant
other, etc.

The main problem is it is not clear where or how to go about it, or what can be 
volunteered.

 * Conferences / exhibitions, public stuff
   Theres a conference, linuxtag, fosdem, whatever, wherever in your local area
   and you think FFmpeg should be represented there ?

FWIW, I attend FOSDEM and VDD representing both FFmpeg and Libav as well as 
$dayjob,
(just to make sure everyone on every side hates me 

Re: [FFmpeg-devel] [PATCH] libavformat/http.c: Make http-listen work as an input stream.

2015-04-06 Thread Stephan Holljes
On Mon, Apr 6, 2015 at 1:47 PM, Lukasz Marek lukasz.m.lu...@gmail.com wrote:
 On Apr 5, 2015 6:02 PM, Stephan Holljes klaxa1...@googlemail.com wrote:

 With this patch http can be used to listen for POST data to be used as an
 input stream.

 Signed-off-by: Stephan Holljes klaxa1...@googlemail.com
 ---
  libavformat/http.c | 7 +--
  1 file changed, 5 insertions(+), 2 deletions(-)

 This should be documented I guess.
I added a short description in doc/protocols.texi.
 ___
 ffmpeg-devel mailing list
 ffmpeg-devel@ffmpeg.org
 http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Now attached two patches. The first one fixes the parenthesis and the
second one adds the original patch.

Regards,
Stephan Holljes
From bbd8fc4e700968a977b30850b7be3ec39bad3531 Mon Sep 17 00:00:00 2001
From: Stephan Holljes klaxa1...@googlemail.com
Date: Mon, 6 Apr 2015 20:23:01 +0200
Subject: [PATCH 2/2] libavformat/http.c: Make http-listen work as an input
 stream.

With this patch http can be used to listen for POST data to be used as an input stream.

Signed-off-by: Stephan Holljes klaxa1...@googlemail.com
---
 doc/protocols.texi | 4 +++-
 libavformat/http.c | 7 +--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/doc/protocols.texi b/doc/protocols.texi
index 5b7b6cf..5e9173f 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -279,7 +279,9 @@ Set initial byte offset.
 Try to limit the request to bytes preceding this offset.
 
 @item listen
-If set to 1 enables experimental HTTP server.
+If set to 1 enables experimental HTTP server. This can be used to send data when
+used as an output option, or read data from a client with HTTP POST when used as
+an input option.
 @end table
 
 @subsection HTTP Cookies
diff --git a/libavformat/http.c b/libavformat/http.c
index 0993546..e4acf75 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -128,13 +128,14 @@ static const AVOption options[] = {
 { end_offset, try to limit the request to bytes preceding this offset, OFFSET(end_off), AV_OPT_TYPE_INT64, { .i64 = 0 }, 0, INT64_MAX, D },
 { method, Override the HTTP method, OFFSET(method), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, E },
 { reconnect, auto reconnect after disconnect before EOF, OFFSET(reconnect), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, D },
-{ listen, listen on HTTP, OFFSET(listen), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, E },
+{ listen, listen on HTTP, OFFSET(listen), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, D | E },
 { NULL }
 };
 
 static int http_connect(URLContext *h, const char *path, const char *local_path,
 const char *hoststr, const char *auth,
 const char *proxyauth, int *new_location);
+static int http_read_header(URLContext *h, int *new_location);
 
 void ff_http_init_auth_state(URLContext *dest, const URLContext *src)
 {
@@ -305,7 +306,7 @@ static int http_listen(URLContext *h, const char *uri, int flags,
 static const char header[] = HTTP/1.1 200 OK\r\nContent-Type: application/octet-stream\r\nTransfer-Encoding: chunked\r\n\r\n;
 char hostname[1024];
 char lower_url[100];
-int port;
+int port, new_location;
 av_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), port,
  NULL, 0, uri);
 ff_url_join(lower_url, sizeof(lower_url), tcp, NULL, hostname, port,
@@ -316,6 +317,8 @@ static int http_listen(URLContext *h, const char *uri, int flags,
 goto fail;
 if ((ret = ffurl_write(s-hd, header, strlen(header)))  0)
 goto fail;
+if ((ret = http_read_header(h, new_location))  0)
+ goto fail;
 return 0;
 
 fail:
-- 
2.3.3

From 8aedd2767d825307fc0d9f6e5b461e2ef68ebe6d Mon Sep 17 00:00:00 2001
From: Stephan Holljes klaxa1...@googlemail.com
Date: Mon, 6 Apr 2015 19:26:34 +0200
Subject: [PATCH 1/2] libavformat/http.c: Fix missing parenthesis in
 http_listen()

Signed-off-by: Stephan Holljes klaxa1...@googlemail.com
---
 libavformat/http.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/http.c b/libavformat/http.c
index 3276737..0993546 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -311,10 +311,10 @@ static int http_listen(URLContext *h, const char *uri, int flags,
 ff_url_join(lower_url, sizeof(lower_url), tcp, NULL, hostname, port,
 NULL);
 av_dict_set(options, listen, 1, 0);
-if (ret = ffurl_open(s-hd, lower_url, AVIO_FLAG_READ_WRITE,
- h-interrupt_callback, options)  0)
+if ((ret = ffurl_open(s-hd, lower_url, AVIO_FLAG_READ_WRITE,
+  h-interrupt_callback, options))  0)
 goto fail;
-if (ret = ffurl_write(s-hd, header, strlen(header))  0)
+if ((ret = ffurl_write(s-hd, header, strlen(header)))  0)
 goto fail;
 return 0;
 
-- 
2.3.3

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org

Re: [FFmpeg-devel] [PATCH] libavformat/http.c: Make http-listen work as an input stream.

2015-04-06 Thread Lukasz Marek

On 06.04.2015 20:29, Stephan Holljes wrote:

Signed-off-by: Stephan Holljesklaxa1...@googlemail.com
---
  doc/protocols.texi | 4 +++-
  libavformat/http.c | 7 +--
  2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/doc/protocols.texi b/doc/protocols.texi
index 5b7b6cf..5e9173f 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -279,7 +279,9 @@ Set initial byte offset.
  Try to limit the request to bytes preceding this offset.

  @item listen
-If set to 1 enables experimental HTTP server.
+If set to 1 enables experimental HTTP server. This can be used to send data 
when
+used as an output option, or read data from a client with HTTP POST when used 
as
+an input option.
  @end table


You can add an example, something like this:

Streaming a file through network:
Receiver setup:
ffplay -listen 1 -i http://localhost:8181:file.mp4

Sender setup:
ffmpeg -i input.mp4 -c:v copy -c:a copy http://REMOVEIP:8181/file.mp4


Nice stuff.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libavformat/http.c: Make http-listen work as an input stream.

2015-04-06 Thread Michael Niedermayer
On Mon, Apr 06, 2015 at 08:29:42PM +0200, Stephan Holljes wrote:
[...]
  http.c |6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 2df39e4d329e2a1fbdb6fa4edc49ec7381ff601f  
 0001-libavformat-http.c-Fix-missing-parenthesis-in-http_l.patch
 From 8aedd2767d825307fc0d9f6e5b461e2ef68ebe6d Mon Sep 17 00:00:00 2001
 From: Stephan Holljes klaxa1...@googlemail.com
 Date: Mon, 6 Apr 2015 19:26:34 +0200
 Subject: [PATCH 1/2] libavformat/http.c: Fix missing parenthesis in
  http_listen()
 
 Signed-off-by: Stephan Holljes klaxa1...@googlemail.com

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread Michael Niedermayer
On Mon, Apr 06, 2015 at 07:24:35PM +0100, Derek Buitenhuis wrote:
 On 4/6/2015 4:43 AM, Michael Niedermayer wrote:
  * Post merge reviewcleanup, changes merged from libav would benefit from
people reviewing and MUCH MUCH more importantly also people actually 
  caring
about and taking responsibility not just dumping comments with the idea
someone will fix it.
Ideally each area would have a maintainer who takes care of it and
keeps it in good nick.
 
 How would this actually work? Sit around and wait for merge commits and look 
 at them?

yes
in an ideal world each area would have a maintainer who would only
have to review changes to his area.


 
 I sometimes do, but most of the commits that are merged are pretty boring 
 stuff, and
 I tend not to read them.
 
  * fate clients
we lack a armcc test, a real android test
someone should take over haiku and sunos/solaris fate clients, my haiku 
  VM just
keeps crashing
 
 Is there a wiki somewhere of stuff that needs to be tested? I shut down all 
 my FATE
 instances 2 weeks ago for maintenance, but will be bringing them + more back 
 up.

ive aded a link to a trac querry to
https://trac.ffmpeg.org/wiki/FATE

that way any ticket with keyword fateclient will be nicely vissible
in the list until its closed, this should allow very easily keeping
track of needed fate clients



 
  * our fate server lacks the ability to display a user specified release
this makes the output look quite unwieldy
Timothy was working on a rewrite
 
 [...]
 
  * Paid maintainers
a big problem is that we have areas in the codebase that have no 
  maintainr or
rather noone with sufficient time+will+abilty.
It would help tremendiusly if maintainers could work full
time on maintaining code instead of just a few hours in their free
time
 
 Where exactly would the money come from? Most, if not all of us have day jobs,
 and/or are students.

it would require a company or NGO to fund it of course, many
companies use FFmpeg and would directly benefit from improvments
in FFmpeg, be that bug fixes, features or anything else.
Thus there is an advantage for a company to fund a full time
maintainer.
Sounds crazy?
well, strictly speaking we do already have paid maintainers in some
areas, its just not many but iam pretty sure some people
in the MAINTAINERs file keep the code in good shape officially as
part of their day job, not fulltime though.


[...]

 
  * Decentralize
Too many things are done and admined by me, iam doing security updates to 
  the
servers, doing the git merges, maintaining all releases, maintaining half 
  the
fate clients, submitting data to coverity and doing all the crap that 
  noone
else wants to do.
 
 It's not really documented all the stuff which needs to be done, such as 
 server updates,
 or who handles them and pay, etc. Basically what Timothy said.
 
Does the community care so little that they want me to be a single point 
  of
failure?
 
 Nobody wants that. I don't recall any previous requests for help with the 
 overhead work
 such as server admin though.

as we already are speaking of this
we need to move things to a new server (we already have one but
against expectations moving things over is happening at a snails pace)
ATM fate-suite and samples are on the new server, rest is still on the
old. The reason for the need to move is the aging platform and
potential lack of future security support for it ...
maybe beastd and lou can comment on this as beastd was the one who did
most of the work that was done sofar and lou seemed to be willing to
help.
question is do we need another volunteer to make this move happen?


 
We need people to take some of this over at least on the basis of a backup
in case iam unavailable for whatever reason, and i think it should ideally
be people who do not yet have their daily work shedule overflowing with 
  ffmpeg
work but better new volunteers.
 
 I don't mind pitching in a small amount, and I can do a bit during work hours 
 perhaps
 (whithin sanity/reason), but I also have a busy life with travel and 
 significant
 other, etc.
 
 The main problem is it is not clear where or how to go about it, or what can 
 be volunteered.
 
  * Conferences / exhibitions, public stuff
Theres a conference, linuxtag, fosdem, whatever, wherever in your local 
  area
and you think FFmpeg should be represented there ?
 
 FWIW, I attend FOSDEM and VDD representing both FFmpeg and Libav as well as 
 $dayjob,
 (just to make sure everyone on every side hates me ;)). I also talked at IBC 
 at EBU's
 booth about open source media, and will be in Berlin for SMPTE's 
 circlejerk^Wforum
 in May, as talking about open source media (FFmpeg especially). I'm not the 
 only
 one, and I think this is pretty well covered in recent years.

ok, great  thanks

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

The real ebay 

Re: [FFmpeg-devel] [PATCH 3/4] avcodec: add unpack packed B-frames bitstream filter

2015-04-06 Thread Michael Niedermayer
On Sun, Apr 05, 2015 at 07:15:20PM +0200, Andreas Cadhalpun wrote:
 On 05.04.2015 04:23, Michael Niedermayer wrote:
  maybe you want to add a fate test ?
 
 Sure, patch attached.
 
  i can upload a small sample to the fate samples if you have one 
 
 I just created one from the sample linked in ticket #2913 (attached):
 $ ffmpeg -i pegasus-1958-chiptune.avi -c:v copy -map v -t 0.5 
 packed_bframes.avi
 
 Please add it to the mpeg4 folder in the samples directory.
 
 Best regards,
 Andreas

  fate/mpeg4.mak|3 +++
  ref/fate/mpeg4-bsf-unpack-bframes |1 +
  2 files changed, 4 insertions(+)
 dfc4d3be3c017076cf2062d11979a9bce4cc37b8  
 0001-fate-add-mpeg4_unpack_bframes-bsf-test.patch
 From c5e78ca47aed2fc94a62c0e90e798aa7425658df Mon Sep 17 00:00:00 2001
 From: Andreas Cadhalpun andreas.cadhal...@googlemail.com
 Date: Sun, 5 Apr 2015 18:51:55 +0200
 Subject: [PATCH] fate: add mpeg4_unpack_bframes bsf test

applied

thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread compn
On Mon, 6 Apr 2015 05:43:29 +0200
Michael Niedermayer michae...@gmx.at wrote:
 * Decentralize
   Too many things are done and admined by me, iam doing security
 updates to the servers, doing the git merges, maintaining all
 releases, maintaining half the fate clients, submitting data to
 coverity and doing all the crap that noone else wants to do.
   Does the community care so little that they want me to be a single
 point of failure?

its supply and demand. the community has a supply of you maintaining
the whole thing and many other devs maintaining other pieces. supply is
full.

it might be wise for you to take a week off every month. to allow a
demand for some one to step up. or maybe i'm crazy. 

or maybe just take breaks from doing particular jobs like coverity or
maintaining fate clients.

did you already setup the fate clients so they can be logged in by
another devel to maintain? by maintain i'm guessing not much is needed,
maybe upgrading libs or rebooting or something? easy stuff i'm assuming.

 
 * Conferences / exhibitions, public stuff
   Theres a conference, linuxtag, fosdem, whatever, wherever in your
 local area and you think FFmpeg should be represented there ?
   Simple, go there and represent FFmpeg! unless you are too shy ...
 of course. FFmpeg is a large community of users and developers, the
 developers who managed the last stands/booths arent special, every
 FFmpeg developer and even Users who know ffmpeg a bit better who like
 can do this too. Also please add all conferences / exhibitions to
   https://trac.ffmpeg.org/wiki/Conferences

we need the conferences to attract developers? doh! now you tell me.
some of us may need encouragement or some kind of description of what
is needed to represent a booth. whats needed, how many hours, how much
$$$ for a booth at a convention, what should we bring, etc.

maybe people that have been to conferences can list what goes on and
what you do. maybe report how fun it is or how boring! :)

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


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread Timothy Gu
On Mon, Apr 6, 2015 at 10:42 AM Michael Niedermayer michae...@gmx.at
wrote:

 On Mon, Apr 06, 2015 at 04:48:24PM +, Timothy Gu wrote:
  On Sun, Apr 5, 2015 at 8:43 PM Michael Niedermayer michae...@gmx.at
 wrote:
 [...]
 
 
   * our fate server lacks the ability to display a user specified release
 this makes the output look quite unwieldy
 Timothy was working on a rewrite
  
 
  I haven't touched that thing in a few months but it's in a pretty good
  shape. With a few minor updates it should be good to go at least on
  fate-beta.ffmpeg.org or something like that. There are still a few minor
  things I want to fix (like minirep/minilog, warning diff (is it really
  useful now since most boxes are using make -jx and testing order changes
  every time?), and some minor styling issue).

 ok,
 do you have your own server where i should make
 fate-beta.ffmpeg.org point to or its something that needs to be setup
 on the fate / or some other server ?


I do have a server I can use for this purpose but i wonder how I am going
to get the FATE data submitted by the boxes if I'm using mine… (which is
another headache when writing my server)

Right now I can get the data manually by wgetting files (like
http://fate.ffmpeg.org/aarch64-linux-qemu-ubuntu-gcc-4.8/20150406220127/summary),
but that's a pain in the ass. (Plus those files should not be public
anyway.)

[...]

  and it is not clear to me how the servers are
administered (who pays for it? who has access to it? who has access to
 the

 main servers are provided by arpi


You mean [git.]ffmpeg.org?

I know this has been discussed before, but moving to a 3rd-party hosting
service like GitHub Pages might make this significantly easier. Who knows
what repos are still hosted on git.ffmpeg.org?

fate server by baptiste

Baptiste doesn't seem to be active these days. Should I contact him
personally?
[...]

hosting company's setting page?) [2]

 my knowledge of the hosting details is limited


OK


  - Git merges: when I first came to this project merges are still called
  Merge
from remote tracking branch 'qatar/master'. WTF is qatar? Now of
 course
that is not a problem any more, but the merges remain undocumented on
 any
official documentation I could find (maybe I didn't look hard
 enough?). If
the behavior itself is not known publicly how can anyone help?

 They are probably undocumented on the FFmpeg side but iam not sure
 what to document beyond what is in the git manual page


Adding a dedicated wiki page on Libav?

 - Coverity: one can easily hook it up to a FATE box.

 maybe, but there are some special considerations
 * as many as possible features, external libs, ... have to be enabled
   as coverity only tests what is actually build

[...]

 so a simple cronjob seems better suited /easier than fate


Well that. I just mentioned FATE since compiling is a part of FATE and one
can just use that to submit to Coverity.

but if you want to take coverity build/uploads over i can provide
 you with the details needed to upload and what is currently enabled
 (i dont want to loose testing for (m)any components)

  But anyway, I can volunteer to take over coverage.ffmpeg.org. But again
 who
  should I find to discuss this thing in detail? Michael? Clément? I don't
  know.

 coverage is 100% Cléments area, i dont know if he wants/needs any
 volunteers for it


OK. See I didn't know that.

[...]

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


[FFmpeg-devel] Error in mpegaudio_parser.c

2015-04-06 Thread Dan Haddix
I think this line in mpegaudio_parser.c is wrong

int header_threshold = avctx-codec_id != AV_CODEC_ID_NONE  avctx-codec_id 
!= codec_id;

I believe it should be...

int header_threshold = avctx-codec_id != AV_CODEC_ID_NONE  avctx-codec_id 
== codec_id;

I believe the intention of the line is to skip setting the params if they were 
already set correctly by the container demuxer. However the current code skips 
the setting of the params when the codec_ids do not match rather then when they 
do, which is incorrect. 

I have a file which is an MP4 with MP2 audio. The demuxer sets the codec_id to 
MP3. With the current code the parser skips over setting the params and leaves 
the codec_id set to MP3, which is incorrect. If I make the change I suggested 
then it works correctly. 

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


[FFmpeg-devel] [PATCH] avformat: Drop const qualifier to avoid compiler warning

2015-04-06 Thread Himangi Saraogi
---
 libavformat/format.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/format.c b/libavformat/format.c
index fa94b7d..0713849 100644
--- a/libavformat/format.c
+++ b/libavformat/format.c
@@ -172,7 +172,8 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int 
is_opened,
 AVProbeData lpd = *pd;
 AVInputFormat *fmt1 = NULL, *fmt;
 int score, nodat = 0, score_max = 0;
-const static uint8_t zerobuffer[AVPROBE_PADDING_SIZE];
+static uint8_t zerobuffer[AVPROBE_PADDING_SIZE];
+
 
 if (!lpd.buf)
 lpd.buf = zerobuffer;
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH] lavf: Add support for WebM Live Muxing

2015-04-06 Thread Michael Niedermayer
On Mon, Apr 06, 2015 at 11:19:36AM -0700, Vignesh Venkatasubramanian wrote:
 On Sat, Apr 4, 2015 at 3:38 PM, Michael Niedermayer michae...@gmx.at wrote:
  On Mon, Mar 30, 2015 at 02:46:10PM -0700, Vignesh Venkatasubramanian wrote:
  This patch adds support for WebM Live Muxing by adding a new WebM
  Chunk muxer. It writes out live WebM Chunks which can be used for
  playback using Live DASH Clients.
 
  Please see muxers.texi for sample usage.
 
  [...]
 
  diff --git a/libavformat/version.h b/libavformat/version.h
  index a183d7f..ff85227 100644
  --- a/libavformat/version.h
  +++ b/libavformat/version.h
  @@ -30,7 +30,7 @@
   #include libavutil/version.h
 
   #define LIBAVFORMAT_VERSION_MAJOR 56
  -#define LIBAVFORMAT_VERSION_MINOR  26
  +#define LIBAVFORMAT_VERSION_MINOR  27
   #define LIBAVFORMAT_VERSION_MICRO 101
 
   #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, 
  \
  diff --git a/libavformat/webm_chunk.c b/libavformat/webm_chunk.c
  new file mode 100644
  index 000..48ea6f0
  --- /dev/null
  +++ b/libavformat/webm_chunk.c
  @@ -0,0 +1,262 @@
  +/*
  + * Copyright (c) 2015, Vignesh Venkatasubramanian
  + *
  + * 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
  + */
  +
  +/**
  + * @file WebM Chunk Muxer
  + * The chunk muxer enables writing WebM Live chunks where there is a 
  header
  + * chunk, followed by data chunks where each Cluster is written out as a 
  Chunk.
  + */
  +
  +#include float.h
  +#include time.h
  +
  +#include avformat.h
  +#include avio.h
  +#include internal.h
  +
  +#include libavutil/avassert.h
  +#include libavutil/log.h
  +#include libavutil/opt.h
  +#include libavutil/avstring.h
  +#include libavutil/parseutils.h
  +#include libavutil/mathematics.h
  +#include libavutil/time.h
  +#include libavutil/time_internal.h
  +#include libavutil/timestamp.h
  +
  +typedef struct WebMChunkContext {
  +const AVClass *class;
  +int chunk_start_index;
  +char *header_filename;
  +int chunk_duration;
  +int chunk_count;
  +int chunk_index;
  +uint64_t duration_written;
  +int prev_pts;
  +AVOutputFormat *oformat;
  +AVFormatContext *avf;
  +} WebMChunkContext;
  +
  +static int chunk_mux_init(AVFormatContext *s)
  +{
  +WebMChunkContext *wc = s-priv_data;
  +AVFormatContext *oc;
  +int ret;
  +
  +ret = avformat_alloc_output_context2(wc-avf, wc-oformat, NULL, 
  NULL);
  +if (ret  0)
  +return ret;
  +oc = wc-avf;
  +
  +oc-interrupt_callback = s-interrupt_callback;
  +oc-max_delay  = s-max_delay;
  +av_dict_copy(oc-metadata, s-metadata, 0);
  +
  +oc-priv_data = av_mallocz(oc-oformat-priv_data_size);
  +if (!oc-priv_data) {
  +avio_close(oc-pb);
  +return AVERROR(ENOMEM);
  +}
  +*(const AVClass**)oc-priv_data = oc-oformat-priv_class;
  +av_opt_set_defaults(oc-priv_data);
  +av_opt_set_int(oc-priv_data, dash, 1, 0);
  +av_opt_set_int(oc-priv_data, cluster_time_limit, 
  wc-chunk_duration, 0);
  +av_opt_set_int(oc-priv_data, live, 1, 0);
  +
 
  +oc-streams = s-streams;
  +oc-nb_streams = s-nb_streams;
 
  why doesnt the code use avformat_new_stream() and avcodec_copy_context()
  see hlsenc/segment muxers for examples
 
  or is there a reason why this would not work or be hard ?
 
 
 it seems unnecessary to make a copy of the stream and codec context
 when it can be used safely within this file without duplication. is
 there something wrong with that line of thought?

well, it feels a bit odd but if you prefer it? ill push it that way

Thanks

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

The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread compn
On Mon, 06 Apr 2015 19:24:35 +0100
Derek Buitenhuis derek.buitenh...@gmail.com wrote:

 On 4/6/2015 4:43 AM, Michael Niedermayer wrote:
  * ffserver lacks a regression test
code that is not tested will accumulate bugs. period
there are people who use ffserver, they clearly like the lack of
  regression tests it seems as noone finds the need to look into
  changing that.
 
 Drop ffserver. It is crap, and I have been saying this for years. It
 has no legitimate use cases as far as I am concerned.
 

i think we tried this a few years ago and found that we do still have
ffserver users, they are just quiet until we threaten to rm it. if/when
it breaks, someone will either be there to fix it or it will rot.

removing it really helps no one, unless your larger goal is to seperate
the project into library maint and a seperate project for tools like
ffmpeg/ffserver .

i'm not making the argument either way, i'm just trying to help. :)

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


Re: [FFmpeg-devel] [PATCH] examples/avio_list_dir: init/deinit network

2015-04-06 Thread Lukasz Marek

On 05.04.2015 15:42, Michael Niedermayer wrote:

On Fri, Apr 03, 2015 at 11:56:03PM +0200, Lukasz Marek wrote:

Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com
---
  doc/examples/avio_list_dir.c | 9 ++---
  1 file changed, 6 insertions(+), 3 deletions(-)


LGTM


pushed

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


Re: [FFmpeg-devel] Areas needing work

2015-04-06 Thread Timothy Gu
On Sun, Apr 5, 2015 at 8:43 PM Michael Niedermayer michae...@gmx.at wrote:

 Hi all

 There are various areas in the project that are not maintained as well as
 they
 should be, heres a certainly not comlpete list, dont hesitate to reply and
 add to it.
 If someone wants to pick something up and contribute that is VERY welcome

 * Post merge reviewcleanup, changes merged from libav would benefit from
   people reviewing and MUCH MUCH more importantly also people actually
 caring
   about and taking responsibility not just dumping comments with the idea
   someone will fix it.
   Ideally each area would have a maintainer who takes care of it and
   keeps it in good nick.


 * fate clients
   we lack a armcc test, a real android test
   someone should take over haiku and sunos/solaris fate clients, my haiku
 VM just
   keeps crashing


I can take care of the Haiku test if I have (access to) a better/faster
computer…


 * our fate server lacks the ability to display a user specified release
   this makes the output look quite unwieldy
   Timothy was working on a rewrite


I haven't touched that thing in a few months but it's in a pretty good
shape. With a few minor updates it should be good to go at least on
fate-beta.ffmpeg.org or something like that. There are still a few minor
things I want to fix (like minirep/minilog, warning diff (is it really
useful now since most boxes are using make -jx and testing order changes
every time?), and some minor styling issue).

[...]

 * Decentralize
   Too many things are done and admined by me, iam doing security updates
 to the
   servers, doing the git merges, maintaining all releases, maintaining
 half the
   fate clients, submitting data to coverity and doing all the crap that
 noone
   else wants to do.
   Does the community care so little that they want me to be a single point
 of
   failure?
   We need people to take some of this over at least on the basis of a
 backup
   in case iam unavailable for whatever reason, and i think it should
 ideally
   be people who do not yet have their daily work shedule overflowing with
 ffmpeg
   work but better new volunteers.


- Project servers: MAINTAINERS list four people [1], one of which I have
never
  ever seen on this list, and it is not clear to me how the servers are
  administered (who pays for it? who has access to it? who has access to the
  hosting company's setting page?) [2]
- Git merges: when I first came to this project merges are still called
Merge
  from remote tracking branch 'qatar/master'. WTF is qatar? Now of course
  that is not a problem any more, but the merges remain undocumented on any
  official documentation I could find (maybe I didn't look hard enough?). If
  the behavior itself is not known publicly how can anyone help?
- Coverity: one can easily hook it up to a FATE box.

[1]: https://github.com/FFmpeg/FFmpeg/blob/master/MAINTAINERS#L48
[2]: Yes I guess I can ask on IRC or whatever but I am lazy, and I know that
 there are people lazier than me. If it is so hard to find out how to
 *volunteer* I would not imagine many people trying to volunteer.

But anyway, I can volunteer to take over coverage.ffmpeg.org. But again who
should I find to discuss this thing in detail? Michael? Clément? I don't
know.

Also a news article on a call for maintainers would be beneficial (?).

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