2

When I run the example 1:

#include <gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline;
GstBus *bus;
GstMessage *msg;

/* Initialize GStreamer */
gst_init (&argc, &argv);

/* Build the pipeline */
pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);

/* Start playing */
gst_element_set_state (pipeline, GST_STATE_PLAYING);

/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);

/* Free resources */
if (msg != NULL)
  gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}

I get two errors:
1)argument of type "int" is incompatible with parameter of type "GstMessageType"

2)'GstMessage *gst_bus_timed_pop_filtered(GstBus *,GstClockTime,GstMessageType)': cannot convert argument 3 from 'int' to 'GstMessageType'

What's wrong?I've linked Visual studio and gstreamer this way:

-property manager > right click on the project > add existing property sheet > link the file gstreamer-1.0 props (share\vs\2010\libs\gstreamer-1.0.props)

SMALLname
  • 81
  • 2
  • 9
  • Do not post links to code, post the code itself – Fureeish Dec 26 '17 at 18:29
  • Posted it.Do you really have to downvote my question? – SMALLname Dec 26 '17 at 18:38
  • I am not the @downvoter, but I assume somebody downvoted you because your question somehow violates the rules of either one of those: [MCVE](https://stackoverflow.com/help/mcve), [the tour](https://stackoverflow.com/tour), [how to ask](https://stackoverflow.com/help/how-to-ask) – Fureeish Dec 26 '17 at 18:41

2 Answers2

5

Try replacing GST_MESSAGE_ERROR | GST_MESSAGE_EOS with (GstMessageType)(GST_MESSAGE_ERROR | GST_MESSAGE_EOS)

Avtar Sohi
  • 295
  • 3
  • 4
0

I've fixed the problem thanks to this post (solution 1), I still had to mess around with paths and linking, I'm not sure what I did but it's probably linking debug with bin directory (for some reason this didn't work before). Another thing to watch out for is that programs need to have .c extension (not .cpp).

SMALLname
  • 81
  • 2
  • 9
  • 2
    In my case it was just the extension of the file, haven't noticed new project had created a cpp file... – Pawel K Feb 11 '19 at 14:40