Comments (12)
MathieuDuponchelle/PitiviGes@cf2698a
from gst-editing-services.
MathieuDuponchelle/PitiviGes@c1cfb81
from gst-editing-services.
MathieuDuponchelle/PitiviGes@939bf71
from gst-editing-services.
MathieuDuponchelle/PitiviGes@b2cadba
done.
from gst-editing-services.
You should also check if videomixer is present in ges_init and WARN the user/disable the feature if not I think.
from gst-editing-services.
-
It should should be called smart-video-mixer.c I think
-
Great news :D
-
Really?
-
Not sure it is a WARNING here
-
I though it was 0.75 the real number....
-
We really want the debugging to be ges* filtrable here! Either you remove that,
-
or you make in inside the GES namespace
-
Not so dummy....
-
Sure you do not want to set x-y-z-alpha here?!
-
Why don't you take the lock before and unlock after that whole switch? (would be
-
the same thing in term of execution)
-
I think you include it in the .c also...
-
OOPS...
diff --git a/ges/ges-smart-mixer.c b/ges/ges-smart-mixer.c
It should should be called smart-video-mixer.c I think
@@ -0,0 +1,237 @@
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * gst-editing-services
+ *
+ * Copyright (C) 2013 Thibault Saunier <[email protected]>
Great news :D
+#include <gst/audio/audio.h>
Really?
+static GstPadProbeReturn
+parse_metadata (GstPad * mixer_pad, GstPadProbeInfo * info, gpointer unused)
+{
+ GstFramePositionnerMeta *meta;
+
+ meta =
+ (GstFramePositionnerMeta *) gst_buffer_get_meta ((GstBuffer *) info->data,
+ gst_frame_positionner_meta_api_get_type ());
+
+ if (!meta) {
+ GST_WARNING ("The current source should use a framepositionner");
Not sure it is a WARNING here
+/****************************************************
+ * GstElement vmetods *
+ ****************************************************/
+static GstPad *
+_request_new_pad (GstElement * element, GstPadTemplate * templ,
+ const gchar * name, const GstCaps * caps)
+{
+ GstPad *videoconvert_srcpad, *videoconvert_sinkpad, *tmpghost;
+ PadInfos *infos = g_slice_new0 (PadInfos);
+ GESSmartMixer *self = GES_SMART_MIXER (element);
+ GstPad *ghost;
+ GstElement *videoconvert;
+
+ infos->mixer_pad = gst_element_request_pad (self->mixer,
+ gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (self->mixer),
+ "sink_%u"), NULL, NULL);
+
+ g_object_set (G_OBJECT (infos->mixer_pad), "alpha", 0.5, NULL);
I though it was 0.75 the real number....
+
+GST_DEBUG_CATEGORY_STATIC (gst_frame_positionner_debug_category);
+#define GST_CAT_DEFAULT gst_frame_positionner_debug_category
+
We really want the debugging to be ges* filtrable here! Either you remove that,
or you make in inside the GES namespace
+ "frame positionner", "Metadata",
+ "This dummy element provides with tagging facilities",
Not so dummy....
+gst_frame_positionner_init (GstFramePositionner * framepositionner)
+{
+}
Sure you do not want to set x-y-z-alpha here?!
+ switch (property_id) {
+ case PROP_ALPHA:
+ GST_OBJECT_LOCK (framepositionner);
+ framepositionner->alpha = g_value_get_double (value);
+ GST_OBJECT_UNLOCK (framepositionner);
+ break;
+ case PROP_POSX:
+ GST_OBJECT_LOCK (framepositionner);
+ framepositionner->posx = g_value_get_int (value);
+ GST_OBJECT_UNLOCK (framepositionner);
+ break;
+ case PROP_POSY:
+ GST_OBJECT_LOCK (framepositionner);
+ framepositionner->posy = g_value_get_int (value);
+ GST_OBJECT_UNLOCK (framepositionner);
+ break;
+ case PROP_ZORDER:
+ GST_OBJECT_LOCK (framepositionner);
+ framepositionner->zorder = g_value_get_uint (value);
+ GST_OBJECT_UNLOCK (framepositionner);
+ break;
Why don't you take the lock before and unlock after that whole switch? (would be
the same thing in term of execution)
+#define _GST_FRAME_POSITIONNER_H_
+
+#include <gst/base/gstbasetransform.h>
I think you include it in the .c also...
GST_END_TEST;
+static gboolean
+print_position (GstElement * pipeline)
+{
+ gint64 pos;
+
+ gst_element_query_position (pipeline, GST_FORMAT_TIME, &pos);
+ GST_ERROR ("position : %" GST_TIME_FORMAT, GST_TIME_ARGS (pos));
Oops
from gst-editing-services.
MathieuDuponchelle/PitiviGes@d1e5133
from gst-editing-services.
Impressive commit :P
from gst-editing-services.
I know I know, so much time spent on that one.
from gst-editing-services.
MathieuDuponchelle/PitiviGes@c752bde
MathieuDuponchelle/PitiviGes@37c68a7
MathieuDuponchelle/PitiviGes@17fc842
MathieuDuponchelle/PitiviGes@cbd2f07
MathieuDuponchelle/PitiviGes@af8bcdf
from gst-editing-services.
This is now merged, but I am not closing until you write some documentation about the new feature...
setting as Work needed
from gst-editing-services.
Closing because merged
from gst-editing-services.
Related Issues (20)
- Pipeline does not start when a PNG overlaps with video at start HOT 4
- Alpha keyframing + effects doesn't work. HOT 1
- Timeline does not start when trying to encode with a video/quicktime container HOT 5
- Timeline does not start when trying to encode with a audio/x-aac codec HOT 2
- Add new encoding profiles to the integration test suite. HOT 2
- Add layer mixing tests in the integration test suite. HOT 3
- Add videoscales before the sinkpads of videomixer. HOT 2
- Make GES compatible with videorate HOT 1
- review https://github.com/pitivi/gst-editing-services/commits/integration HOT 1
- Add tests for jpeg files HOT 1
- Add a [--image1--[-transition]--image2--] test HOT 1
- We need ges_project_close() HOT 1
- GES Project's "new" method says I can't change the URI afterwards HOT 1
- Review https://github.com/pitivi/gst-editing-services/tree/rework_children_props
- Review layer_scaling handling branch HOT 2
- .gitignore should ignore integration binary and video files
- XML formatter should save and load children properties of ges-sources HOT 3
- On my 32 bit system, test-snapping fails HOT 2
- Make test_project_add_keyframes compatible with control binding update HOT 1
- ProRes files make the pipeline explode HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gst-editing-services.