Recherche avancée

Médias (91)

Autres articles (106)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (10507)

  • Added paste functionality to simplify uploading screenshots or images copied from the web (only supported by Google Chrome so far).

    24 octobre 2011, par Sebastian Tschan

    m example/index.html m jquery.fileupload.js Added paste functionality to simplify uploading screenshots or images copied from the web (only supported by Google Chrome so far).

  • av_video_decode2 RETURNS THE VALUE -1094995529 in the threaded function

    24 mai 2014, par Whoami

    I am developing rtsp streaming player, and followed the below approach.

    1) Read packet, decode, display -> works perfectly.

    while (1) {
       if ( av_read_frame(pFormatCtx, &packet) >= 0) {
           if (packet.stream_index == videoStream) {
               retDecoder = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
               if  ( retDecoder <= 0)
                   LOGD (" Unable to Decode...retval %d ", retDecoder);
               if (frameFinished) {
               }
           }
           av_free_packet (&packet);
       }
    }

    Whereas,

    I introduced two threads, one is reading and pushing into the queue and the second one is reading from the queue.

    My problem is while reading the same packet, and decode, i m unable to decode, the return value of the av_video_decode2 is -1094995529.

    Below is the short description of code. Kindly help to solve this issue ?.

    AVPacketList *firstNode=NULL, *lastNode=NULL;

    int pushPacket (AVPacket * pkt)
    {
       AVPacketList *newNode = av_malloc(sizeof(AVPacketList));
       newNode->pkt = *pkt;
       newNode->next = NULL;

       SDL_LockMutex (rwMutex);

       if (lastNode != NULL )  {
           lastNode->next = newNode;
           lastNode = newNode;
       } else {
           firstNode = lastNode = newNode;
       }

    SDL_UnlockMutex (rwMutex);
    }

    int pullPacket ()
    {
       AVPacketList *tempNode;
       AVPacket *pkt;
       int res=0;

       SDL_LockMutex (rwMutex);
       if ( firstNode != NULL ) {
           tempNode = firstNode;
           *pkt = tempNode->pkt;
           res = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, pkt);  // HERE IS THE PROBLEM.
           if (frameFinished) {
               LOGD (" fRAME DECODED.. %d \n", counter++);
           }

           if (firstNode->next != NULL) {  
               firstNode = firstNode->next;
           }
           else {
               firstNode = NULL;
               lastNode = NULL;
           }
           av_free (tempNode);
       }
    }

    In Thread 1 :

    int PacketReader (void *ptr)
    {
       AVPacket pkt1, *rpacket;
       rpacket = &pkt1;
       while (globalQuit != 0)  {
           if ( av_read_frame(pFormatCtx, rpacket) >= 0) {
               if (packet.stream_index == videoStream) {
                   pushPacket (rpacket);
               }
               av_free_packet(rpacket);
           }
       }
    }

    In thread 2 :

    while (1) {
      pullPacket ();
    }
  • avcodec_decode_video2 RETURNS THE VALUE -1094995529 in the threaded function

    2 février 2016, par Whoami

    I am developing rtsp streaming player, and followed the below approach.

    1) Read packet, decode, display -> works perfectly.

    while (1) {
       if ( av_read_frame(pFormatCtx, &packet) >= 0) {
           if (packet.stream_index == videoStream) {
               retDecoder = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
               if  ( retDecoder <= 0)
                   LOGD (" Unable to Decode...retval %d ", retDecoder);
               if (frameFinished) {
               }
           }
           av_free_packet (&packet);
       }
    }

    Whereas,

    I introduced two threads, one is reading and pushing into the queue and the second one is reading from the queue.

    My problem is while reading the same packet, and decode, i m unable to decode, the return value of the av_video_decode2 is -1094995529.

    Below is the short description of code. Kindly help to solve this issue ?.

    AVPacketList *firstNode=NULL, *lastNode=NULL;

    int pushPacket (AVPacket * pkt)
    {
       AVPacketList *newNode = av_malloc(sizeof(AVPacketList));
       newNode->pkt = *pkt;
       newNode->next = NULL;

       SDL_LockMutex (rwMutex);

       if (lastNode != NULL )  {
           lastNode->next = newNode;
           lastNode = newNode;
       } else {
           firstNode = lastNode = newNode;
       }

    SDL_UnlockMutex (rwMutex);
    }

    int pullPacket ()
    {
       AVPacketList *tempNode;
       AVPacket *pkt;
       int res=0;

       SDL_LockMutex (rwMutex);
       if ( firstNode != NULL ) {
           tempNode = firstNode;
           *pkt = tempNode->pkt;
           res = avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, pkt);  // HERE IS THE PROBLEM.
           if (frameFinished) {
               LOGD (" fRAME DECODED.. %d \n", counter++);
           }

           if (firstNode->next != NULL) {  
               firstNode = firstNode->next;
           }
           else {
               firstNode = NULL;
               lastNode = NULL;
           }
           av_free (tempNode);
       }
    }

    In Thread 1 :

    int PacketReader (void *ptr)
    {
       AVPacket pkt1, *rpacket;
       rpacket = &pkt1;
       while (globalQuit != 0)  {
           if ( av_read_frame(pFormatCtx, rpacket) >= 0) {
               if (packet.stream_index == videoStream) {
                   pushPacket (rpacket);
               }
               av_free_packet(rpacket);
           }
       }
    }

    In thread 2 :

    while (1) {
      pullPacket ();
    }